在遍历元素时xpath和css选择器为什么结果不一样

来源:4-9 编写spider完成抓取过程 - 1

慕雪9382207

2020-05-27

代码如下:

post_nodes = response.xpath('//div[@id="news_list"]/div[@class="news_block"]')
# post_nodes = response.css('#news_list .news_block')

for post_node in post_nodes:
   # print(post_node)
   image_url = post_node.xpath('//div[@class="entry_summary"]/a/img/@src').extract()
   image_url = post_node.css('.entry_summary a img::attr(src)').extract()

用path结果如下:
图片描述
用css结果如下:
图片描述
问题:
从结果分析是css正确的应该是每次遍历只能获取一个值
但是为什么用xpath却获取了所有的值,这明显是不对的

写回答

1回答

bobby

2020-05-28

xpath尝试一下将双斜线改为单斜线 或者去掉双斜线试试

0
4
bobby
回复
陳根生
好的,看到了 之前版本没有这个问题 最近的版本有这个问题了 需要加点
2020-07-22
共4条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5796 学习 · 6290 问题

查看课程