爬虫的具体选择根据需求情形的不同,总是容易被如何书写复杂的标签解析困扰,我也深感其疼,网上资料很零散琐粹,较为空洞理论,所以领悟的一些小技巧,分享给大家。
就豆瓣top250对电影名的爬取进行详解吧
核心代码如下,我们对xpath表达式写什么进行探讨
for quote in response.xpath('//div[@class="item"]'):
yield {"电影名": quote.xpath(??).extract()}
匹配了网页中所有的div[@class="info"],而这是打破了原有的循环。正确做法应是去掉前面的“//”
在首路径不用//后我们中途跳级路径爬取发现可以找到经筛选后的所有span元素内容,说明中途允许跳级
下面正常爬取,此时我们还可以通过将.extract()改为.extract()[1]或者.extract_first()来代替span[@class="title"][1]中[1]
此处尝试跳级路径,发现爬取不到
以上可小做总结
xpath路径筛选之后再次筛选应注意第二次筛选首路径应该是紧接着的不加//的路径然后后面可以随意,可以跳级