这很奇怪,我现在已经坐了将近一个星期了。
也许这很明显,我只是不再看对了……
也欢迎任何替代解决方案的线索。
我对网站没有影响。
我是 HTML 新手。
我尝试使用 scrapy 从网站获取特定链接。 (有多少变化)
在本例中为 RELATIVELINK1 和 RELATIVELINK4;两者都标有“详细信息”。
有多少表取决于允许您查看的内容。
在我开始解决问题之前:
我正在使用 scrpy shell 来测试响应。
我从 HTML 代码的所有其他部分获取值。
我尝试了 xpath、response.css 和 scrapy 的 LinkExtractor。
我尝试忽略路径中的/p 部分。
现在,如果我尝试使用 xpath 获得响应:
response.xpath('/html/body').extract()
- 我得到了一切,包括内部 <p>
但是当我到达
response.xpath('/html/body/.../p').extract()
- 我只得到:['<p>\n<br>\n</p>']
然后
response.xpath('/html/body/.../p/table').extract()
- 我得到 [ ]
同样的
response.xpath('/html/body/.../p/br').extract()
这是我遇到问题的 HTML 片段:
<p>
<BR>
<TABLE BORDER>
<TR>
<TD><b>NAME1</b></TD>
<TD><b>NAME2</b></TD>
<TD><b>NAME3</b></TD>
<TD><b>NAME4</b></TD>
<TD COLSPAN=3><b>Links</b></TD>
</TR>
<TR>
<TD>NUMBER1</font></TD>
<TD>LINK1 </font></TD>
<TD> </font></TD>
<TD>NAME5 </font></TD>
<TD><a href=RELATIVELINK1>Details</a></TD>
<TD><a href=RELATIVELINK2>LABEL1</TD>
<TD><a href=RELATIVELINK3>LABEL2</TD>
</TR>
<TR>
<TD>NUMBER2</font></TD>
<TD>LINK2 </font></TD>
<TD> </font></TD>
<TD>NAME5;</font></TD>
<TD><a href=RELATIVELINK4>Details</a></TD>
<TD><a href=RELATIVELINK5>LABEL1</TD>
<TD><a href=RELATIVELINK6>LABEL2</TD>
</TR>
</TABLE>
<BR>
没有</P>
.
最佳答案
for link_href in response.xpath('//a[.="Details"]/@href').extract():
print(link_href)
关于python - Scrapy:无法在 HTML 文档中使用 Xpath、response.css 选择内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48686730/