一、爬取分析
爬虫是非常考验随机性的,运气性,以及思维跳跃的
在此次项目中,首先我们找到京东图书的页面,进入到里边
京东所有图书的API接口是:
http:/book.jd.com/booksort.html
(建议自己去京东网站自己找一下)
对于每一本书来说,它都会有大分类,小分类
思考:
1.分类的爬取
2.翻页 ---> nextwork(谷歌检查)
3.循环遍历的终点
4.如何判断当前小分类的图书抓取完毕
1.在提取nextwork的路由的时候,可以使用谷歌抓包的工具,点击next work来找到
2.如果程序员的是规范的程序员,一般来说都是用的page
嗯。。。。总的来说谷歌浏览器真香
翻页的网址,主要的是page这个参数,开循环抓取
二、xpath基本使用
1.分享xpth的安装包
https://pan.baidu.com/s/14hqPKdvW4A6ib7RpYY8Ttw
提取码:
751q
安装的方法:
解压,找到谷歌浏览器的扩展程序,拖进去就欧克
2.具体的xpth语法,在我之前的博客,可以自己学习一下
https://blog.csdn.net/linpengzt/article/details/104394943
记住一点:
如果你会xpth的语法,ok;
但是你如果不会,完全可以用复制
步骤,检查,右击,copy——xpth,就OK
然后自己修改一下就行(大部分需要修改,只需要在xpth里边删除一些东西就行)
3.对比其他解析工具
正则解析:万能解析,解析结果是字符串,谁都可以解析,缺点:晦涩难懂
xpth:解析路径,辅助工具很多,更适用于谷歌浏览器,原先用于解析xml,现在解析html
bs4:css选择器
三、图书数据解析
1.图书总入口
base_url = http:/book.jd.com/booksort.html
2.爬取每个小分类的链接
2.1 解析大分类的名字 -52各大分类(数据不一定准确)
category = '//da/a/text()' (xpth路径)
2.2解析小分类的名字和链接
small_category = '//em/a/text()'
注意,小分类的连接需要拼接
so,
small_link = http:+ ‘//em/a/@href’
list_book = ‘//*【@id = "plist"]/ul/li/div’
遍历解析书的具体信息
到这里今天的项目基本就完成了,对于这个项目的进度基本上已经过去一多半了,
总结一下写一个爬虫的流程:
首先,环境准备,找到合适的环境,编译器,框架,以及数据库
明确自己需要什么样的数据,数据在数据库中存放的方式是什么(设计表)
其次,解析数据,在这个阶段明确自己需要什么数据,以及数据在网页的哪个字段下
然后应用框架,修改文件
1.修改爬取的url
2.修改settings文件,
其实就是修改爬虫名,robot协议
3.修改piplines文件,将数据存放数据库
4.修改init文件,告诉爬虫爬取什么,在哪里
在这里其实一个爬虫已经做好了
以下可能会用到
浏览器代码池(防止反爬等问题)
可视化,前端页面
爬取速度限定,以及**反爬措施,验证码跳过等等问题
好了,今天的分享就到这里了,明天将完成最后的分享