Python 无法使用有序列表(<;li>;<;/li)从中检索所有URL?
我正在尝试从锚标记中检索所有url。我使用了查询Python 无法使用有序列表(<;li>;<;/li)从中检索所有URL?,python,html,xpath,scrapy,Python,Html,Xpath,Scrapy,我正在尝试从锚标记中检索所有url。我使用了查询response.selector.xpath('//li[@class=“active”]//a/@href').extract(), 提取所有的url,但我只得到几个查询 该网页的结构如下: `<ul class="data"> <li id="all" class="active"> <a class="fit" href="#1"></a>
response.selector.xpath('//li[@class=“active”]//a/@href').extract()
,
提取所有的url,但我只得到几个查询
该网页的结构如下:
`<ul class="data">
<li id="all" class="active">
<a class="fit" href="#1"></a>
<div class="1">
<a target="_blank" href="www.yahoo.com">
</div>
<div class="2">
<a target="_blank" href="www.google.com">
</div>
<a class="fit" xmlns:listval="com.indiatimes.cms.utilities.CMSDateUtility" xmlns:java="java" href="#2"></a>
<div class="1">
<a target="_blank" href="www.facebook.com">
</div>
<div class="2">
<a target="_blank" href="www.bing.com">
</div>
<a class="fit" xmlns:listval="com.indiatimes.cms.utilities.CMSDateUtility" xmlns:java="java" href="#3"></a>
<div class="1">
<a target="_blank" href="www.amazon.com">
</div>
<div class="2">
<a target="_blank" href="www.flipkart.com">
</div>
<a class="fit" xmlns:listval="com.indiatimes.cms.utilities.CMSDateUtility" xmlns:java="java" href="#4"></a>
<div class="1">
<a target="_blank" href="www.snapdeal.com">
</div>
<div class="2">
<a target="_blank" href="www.infibeam.com">
</div>
</li>
</ul>`
`
-
`
前面的查询只显示了“www.yahoo.com”和“www.google.com”。
我需要做什么调整才能获得所有的href 尝试CSS选择器而不是Xpath
for link in response.css("li.active a"):
link_id = link.css("::attr(href)").extract_first()
我尝试了你的代码,得到了所有的@href字段。你能展示你的结果吗?好吧,我在另一个网页上应用了这个,这个网页有类似的结构,但我只得到href的正常运行时间,没有超过这个时间!请在浏览器中禁用javascript,并检查您正在查找的内容是否仍在其中。@VMRuiz禁用java脚本后,我找不到内容。难怪我没有得到那些href!我现在该怎么办?(因为这更像是抓取js,而不是html)您需要使用浏览器呈现页面,例如,我尝试了您的代码,我得到了ExpressionError:pseudo class:attr()未知,我正在尝试弄清楚。您是否可以向我建议一个Xpath查询?