使用css/xpath选择器提取所有href

使用css/xpath选择器提取所有href,xpath,web-scraping,css-selectors,scrapy,Xpath,Web Scraping,Css Selectors,Scrapy,我正在尝试提取页面上的所有HREF 我尝试了以下方法: response.css('a::attr(href)').extract() response.xpath('/@href').extract() 它提取了大量链接,但不是全部 更具体地说,我无法从这个网站上获取twitter链接: 任何见解都值得赞赏。应该是//a/@href 在LinuxBash上使用 xmllint--html--recover--xpath'//a/@href'test.html | sed-e's/href/\

我正在尝试提取页面上的所有HREF

我尝试了以下方法:
response.css('a::attr(href)').extract()

response.xpath('/@href').extract()

它提取了大量链接,但不是全部

更具体地说,我无法从这个网站上获取twitter链接:


任何见解都值得赞赏。

应该是
//a/@href
在LinuxBash上使用


xmllint--html--recover--xpath'//a/@href'test.html | sed-e's/href/\nhref/g'

该网站使用javascript生成一些内容,包括侧边栏(由生成)

刮取这些链接的最简单方法是执行javascript,例如使用浏览器。

有多种方法可以做到这一点,但最简单的方法可能是使用中间件。

您可以使用的引用为该页面编写代码,因为它涉及javascript来生成正文内容。

如果
/@href
没有选择链接,那么
/@a/@href
也不会选择它。@michael kay,正如我的评论所说,它已经过测试,所以我肯定//a/@ref有效。来自@stranac的回答说它无效,因为有些链接不在@href属性中。基本上,OP对他们是想要所有的“链接”还是想要所有的
href
属性感到困惑,这是两个不同的要求。我看到了Ah的可能重复。我还没有面对这个问题。您是如何确定它们正在生成的?非常感谢。我查看了HTML源代码,发现链接不存在,
为空,并注意到javascript文件。您使用什么来检查?因为当我检查页面并搜索“twitter”时,它会立即显示出来(因此会引起混乱)