如何在这个刮刀程序中用lxml提取文本?

时间:2013-07-24 17:56:51

标签: python lxml scraper scraperwiki

我正在尝试从此页面上的特定元素中删除文本数据(使用scraperwiki)

import requests
from lxml import html

response = requests.get(http://portlandmaps.com/detail.cfm?action=Assessor&propertyid=R246274)

tree = html.fromstring(response.content)
owner = tree.xpath('/html/body/div[2]/table[1]/tbody/tr[11]/td[2]')

print owner.text

scraperwiki控制台返回:

AttributeError: 'list' object has no attribute 'text'

我使用谷歌浏览器查找XPath,但我认为请求使用与chrome相同的标准

1 个答案:

答案 0 :(得分:1)

那是因为你要找的东西都不存在。先试试父母。

然后,一旦有效,请尝试:

owner[0].text

如果你找不到/记住你想要的tr,只需抓住第三个索引的所有tds:

tree = html.fromstring(response.content)
owner = tree.xpath('/html/body/div[2]/table[1]/tbody/tr/td[2]')

texts = [o.text for o in owner]
print texts

然后,相应地选择并修改代码。希望这会有所帮助。