Home  >  Q&A  >  body text

利用python的scrapy框架中的css选择器获取不到元素内容

利用python中的scrapy框架的css选择器对具体标签内容进行获取,但是获取不到内容。
当前网页源码(是js渲染之前的代码):

css选择器代码:urllist = response.css('ul.nav li a::attr(href)')[0::3].extract()
运行结果是:
urllist===================[]
urllist长度============ 0
css选择器内的代码应该是没有错误的,为什么获取不到内容?
由于怀疑是css选择器出现了问题,因此替换xpath选择器,
xpath选择器代码:urllist=response.xpath('//ul[@class ="nav"]/li/a/@href').extract()
但是运行结果和css选择器相同。内容仍为空,长度为0

高洛峰高洛峰2647 days ago662

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-18 10:14:41

    或许你的问题不是出在css选择器代码上,检查下response内容是否与网页上看到的内容一致

    reply
    0
  • ringa_lee

    ringa_lee2017-04-18 10:14:41

    你试试 在命令行里面使用scrapy shell 加目标url 然后可以得到一个response对象,先看下这个response对象是否是正常的,可以先看下response.body,看下是不是你想要爬取的网页的源代码
    然后用这个response对象去调试你的css选择器的代码

    reply
    0
  • Cancelreply