感谢哔哩哔哩老师的课程Day2 - 3.requests模块巩固深入案例之简易网页采集器_哔哩哔哩_bilibili
一 、简单爬虫
分为四步:指定url、发送请求、获取响应数据、持久化存储数据
代码如下
问题一:输出的中文会乱码
解决方案:找到网站的编码方式,将获取的数据也更改为对应编码方式
1打开网站-->右击'查看页面源代码'
2在里面找到charset 可以看到是utf-8
3代码的修改:在response=requests.get(url=url)后面添加
问题二:输出为一行,没有缩进(暂未解决)
二、输入关键词获取搜索到的网页数据
1先找指定url (有点抽象 我的理解:用函数来比喻的话就是在网站中找到形参) 如下例子
s?wd=深圳:形参是wd,实参是深圳
指定的网站https://www.baidu.com/s (注:把?wd以及后面的都去掉,?也可以去掉没有影响的)
2代码 (注意:因为输入关键词 所以我们get函数要用到第二个参数)
之前封装到词典的关键词写错了应该是需要赋值给'wd',否则显示的是百度首页
3发现虽然能运行但是打不开 这里要用到反爬机制(伪装成某一个浏览器 不然可能会被拒绝访问)
具体的可以了解UA检测
在百度页面右击鼠标-->选择'检查'-->点击'网络'-->(可能需要刷新)在下面点击一个-->下滑到最后,看到User-Agent-->复制到代码中
完整的代码:
运行结果
问题一:运行成功后 打开的是百度页面不是查询到的深圳页面
解决方法:指定的url中https改为http 并且关键词封装也要根据网站来写百度是wd,搜狗是query
问题二:运行成功并且打开深圳页面但是提示 百度安全验证(暂未解决)
看看是什么原因或者之后能不能解决吧