我在刮板外壳中练习xpath。我正在处理的网页是

http://bxt.harbin.gov.cn/more.php?nameid=1&frameid=1&colorid=1

我想抓取表格中的数据。但是我输入之后

scrapy shell http://bxt.harbin.gov.cn/more.php?nameid=1&frameid=1&colorid=1


在Windows cmd中,我发现在“可用的Scrapy对象”下,

[s]   response   <200 http://bxt.harbin.gov.cn/more.php?nameid=0>


响应网址与我要处理的网址不同。错误的网址没有我要提取的数据。知道为什么会这样吗?谢谢!

最佳答案

所需的表位于iframe内-转到iframe加载的URL:

$ scrapy shell http://bxt.harbin.gov.cn/hrb_bzbxt/list_hf.php
In [1]: for row in response.xpath("//table[3]//tr[position() > 1]"):
    print row.xpath(".//td[1]/text()").extract()[0]
   ...:
551626
551617
551616
551614
551612
551611
...
551521


在上面的演示中,将打印每个表行的第一个单元格的内容。

10-04 13:55