网络爬虫四大选择器大概有正则表达式、BeautifulSoup、Xpath、CSS,Bs4总觉得要写很多指令很麻烦,决定学习一门其他的方法。 https://www.cnblogs.com/dcpeng/p/12985344.html推荐了lxml,也就是学习xpath规则。
scrapy 爬取图片 最基本操作 这个是用css的方法写的,经检验可以爬取成功。这个template给了爬取两点经验:
如何设置settings里面的存储路径如何设置pipeline里面的具体存储之后呢,我觉得可以用这个做来练手改成xpath路径的练习。 更改前
def parse(self, response): item = MeizituItem() srcs = response.css('.article img::attr(src)').extract() # css提取 print(srcs) item['image_urls'] = srcs yield item def parse(self, response): item = MeizituItem() srcs = response.xpath('/html/body/div[@class="wrapper-box"]/div[@id="article-container"]/div[@class="left main"]/div[1]/div[@class="text"]/article[@id="mp-editor"]/p/img/@src').extract() # xpath提取 print(srcs) item['image_urls'] = srcs yield itempython3解析库lxml
谷歌浏览器安装xpath使用
更改以后
def parse(self, response): list1 = [] src_list = response.xpath('//div[@class="liststyle1_w clearfix"]/div[@id="listtyle1_w"]/div[@id="listtyle1_list"]//div[@class="listtyle1"]/a[@class="big"]/img[@class="img"]/@src').extract() for src in src_list: list1.append(src) item = FoodItem() item['image_urls'] = list1 yield item