Scrapy:无法在HTML文档中选择带有Xpath,response.css的内容

时间:2018-02-08 13:32:53

标签: python html css xpath scrapy

这是一个奇怪的现在,我坐了近一个星期了 也许这很明显,我只是不再把事情弄清楚了...... 也欢迎任何替代解决方案的线索 我对网站没有影响力 我是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>&nbsp</font></TD>
           <TD>NAME5&nbsp;</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>&nbsp</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>

1 个答案:

答案 0 :(得分:0)

for link_href in response.xpath('//a[.="Details"]/@href').extract():
    print(link_href)