爬前注意:
首先douban的接口请求方式是get简单一点、寻找规律可以爬取数据;
kfc的接口方式是post,data所需要parse.urlencode(data).encode('utf-8')需要编码,编码和解码是两个相反的过程(字节<->字符串) 编码:字符串->字节 解码:字节->字符串
细节内容将会在具体的操作步骤中说道:创作不宜、记得三连啊兄弟们!!!
1、爬取douban电影的排行榜(前10页为例子)
打开chrome浏览器,搜索豆瓣来到电影排行榜 右击鼠标 查看网络 寻找数据接口
一点经验:
看到文件带png,jepg(jpg),js一般都不是真正的接口;
找到数据接口后,打开标头
分析服务器请求方式:
这里的请求方式是get url="
https://movie.douban.com/j/chart/top_list?type=13&interval_id=100%3A90&action=&start=0&limit=20
https://movie.douban.com/j/chart/top_list?type=13&interval_id=100%3A90&action=&start=20&limit=20
https://movie.douban.com/j/chart/top_list?type=13&interval_id=100%3A90&action=&start=40&limit=20
上面是前三页的数据(每一页20条数据) 不难看出 url中的start=开始就出现了不同 我们现在要爬取前十页的数据,观察现象,得出规律。 知识点设计:java中的分页 (page-1)每页条数
例如:第n页 1 2 3 ...n
从第几页开始0 20 40 ... (n-1)*20
找到规律后 三步走就是...
注意该url的协议是https(比起http更加安全),一个常见的反爬手段UA 用户代理
解决方案:
我们在请求头里寻找ua 包装request对象即可
接着到了最后一步:
下载到当地,其实就是文件操作,将数据读到文件里面;
我们分析我们要爬取的数据是什么数据格式 一般这些数据都是json数据(大括号套大括号)
显然,这些数据都是json数据,就这个鸟样。
接下来直接下载吧!!!
正在爬取数据:
爬取结果:
这样就得到电影排行的数据了。。。。
接下来,爬取肯德基门店信息试试:
List标签存有数据
X-Requested-With这就是ajax的标志:ajax就是一个加载项
寻找规律:
找到
数据展示:
还有一点值得注意的是:
使用文件操作时,write()方法默认编码是gbk ;需要和之前解码的编码一样。
这就是今天的分享,还是那句兄弟们三连啊,我会继续坚持创作的,与大家一起进步......
待续...