python - Scrapy:无法在 HTML 文档中使用 Xpath、response.css 选择内容

标签 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> .

最佳答案

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/

相关文章:

python - 如何让 Emacs Python 模式生成缩进的制表符?

html - 使用 Laravel 将数据插入数据库

javascript - 如何使用 html、css 和 js 添加自定义动画弹出按钮?

python - 将 Tkinter 滚动条跳转到某个小部件

python - pandas df 对多列中的部分字符串值进行过滤

javascript - 使用 Jquery 在页面加载时有条件地选中该框

javascript - 如何指定 Owl carousel 2 中显示的元素数量?

html - 帖子信息 anchor 文本未居中对齐

python - 如何在 python 中使用列表理解从列表中获取元组

javascript - 如何逐步渲染 react 组件?