【发布时间】:2015-03-07 07:53:55
【问题描述】:
这可能是一个完全愚蠢的问题,但谷歌是无济于事的。 首先当然是导入我需要的库:
from lxml import html
from lxml import etree
import requests
足够简单。现在运行并解析一些代码。本例中的链接是当地餐厅的每周午餐菜单。在这里,我们准备了从中提取我们的位的代码。
page = requests.get("http://www.farozon.se/lunchmeny-20207064")
tree = html.fromstring(page.text)
htmlparser = etree.HTMLParser()
tree2 = etree.parse(page.raw, htmlparser)
现在让我们来看看菜单吧!如您所见,我正在测试几种不同的方法来获得所需的输出。
friday = tree.cssselect("#block_82470858 > div > div > div.h24_frame_personal_text.h24_frame_padding > div > table > tbody > tr:nth-child(4)")
test = tree.xpath("/html/body")
让我们打印输出看看我们得到了什么。
print page
print tree.cssselect('#block_82470858 > div > div > div.h24_frame_personal_text.h24_frame_padding > div > table > tbody > tr:nth-child(4)')
print tree2
print friday
print test
期待吃点……等等,那不是食物。那是什么鬼?在我上面的尝试中,在我的 IDE 中,我尝试了谷歌的前 20 个 lxml 和请求链接,它们都输出相同的东西,但声称输出实际的 html。我不知道发生了什么事。
<Response [200]>
[<Element tr at 0x30139f0>]
<lxml.etree._ElementTree object at 0x2db0dd0>
[<Element tr at 0x30139f0>]
[<Element body at 0x3013a48>]
【问题讨论】:
-
尝试在某些对象的末尾添加
.text... -
我已经尝试将
.text添加到任何我能做到的地方,它要么输出相同,要么输出错误。这是我的第一个 python 项目,所以如果你有一个特定的地方,请分享。
标签: python python-2.7 lxml lxml.html