分析我们需要爬取的网站,发现京东网页只需通过keyword和page就可正常访问,且page的数值是奇数
爬取思路
首先获取一百页的商品信息,再在每一页中获取商品详情页的链接,并将每一个商品的店铺名获取下来(因为进入商品详情页有些商品是没有店铺名的),进入商品详情页,爬取的固定位置的值使用xpath获取,随机位置的值使用正则表达式获取。最后将内容保存到computer.json中(价格和评论数需另外获取),新建一个jdprice.py文件,读取json文件,并爬取价格和评论数,爬取完成之后,保存成computer.xlsx。以后的几天里,只需爬取价格和评论数即可,不需要再爬取其他字段。
过程
创建一个scrapy框架的爬虫项目,在cmd命令行输入scrapy startproject jd_computer 创建项目,然后进入jd_computer目录(cd jd_computer),创建一个编写爬虫的文件(scrapy genspider computer jd.com)
在item.py中定义我们需要爬取的字段(编号、商品名称、品牌、店铺名、价格、特性、内存、颜色、分类、评论数)
在computer.py中编写主要爬虫代码(爬取的字段没有的用无代替)
在settings中编写如下代码(设置USER_AGENT、爬虫协议、重定向、下载中间件、管道等信息)
在middlewares.py中编写如下代码