在scrapy中爬行......没有按预期得到结果

时间:2016-10-31 16:50:36

标签: python xpath scrapy web-crawler

无论我尝试过什么 第1步

scrapy shell http://www.bseindia.com/corporates/Forth_Results.aspx?expandable=0

以xz形式表示Mozilla firebug

sel.xpath('/html/body/form/div[3]/div/div[3]/div[2]/div/div[3]/div[1]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td/div/table/tbody/tr[3]/td[3]/text()').extract()[0].strip()

不起作用

sel.xpath('/html/body/form/div[3]/div/div[3]/div[2]/div/div[3]/div[1]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td/div/table/tbody/tr[3]/td[3]/text()').extract()[0]

不起作用

sel.xpath('/html/body/form/div[3]/div/div[3]/div[2]/div/div[3]/div[1]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td/div/table/tbody/tr[3]/td[3]/text()').extract()

不起作用

从Chrome找到xpath

sel.xpath('//div[@id="wrap"]/div/div[3]/div[2]/div/div[3]/div[1]/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[2]/td/table/tbody/tr/td/div/table/tbody/tr[3]/td[2]/text()').extract()

它在chrome控制台中工作正常但在输入命令时输出为[]。对于mozilla xpath也是如此。

请帮忙。

1 个答案:

答案 0 :(得分:1)

Chrome和Firefox倾向于向树中添加一些DOM元素。添加了tbody标记。另外假设您在HTML中查找类名TTRow,您可以将选择器路径用作:

In [32]: response.xpath('//*[@id="wrap"]//table//tr[@class="TTRow"][3]/td[2]/text()').extract()
Out[32]: [u'DWITIYA']