HTML解析以获得我想要的东西

时间:2011-04-16 03:25:00

标签: python html

我正在尝试在Python中进行一些HTML解析,但我很狡猾。我一直在谷歌搜索方式,但无法得到任何工作。这是我的情况。我有一个网页,有一个下载链接的BUNCH。我想要做的是指定一个搜索字符串,如果我搜索的字符串在那里,请下载该文件。但它需要获取整个文件名。例如,如果我正在搜索游戏-1并且实际游戏的名称是游戏1-something-else,我希望它能够下载游戏1-1-其他东西。我已经使用以下代码来获取页面的来源:


import urllib2
file = urllib2.urlopen('http://www.example.com/my/example/dir')
dload = file.read()
这抓住了网页的整个源代码,它本身就是一个目录。例如,我有很多标签。我有<a href标签,<td>标签等。我想将标签串起来,所以我只有网页目录中的文件列表,然后我想使用正则表达式或类似的东西来搜索我要搜索的内容,获取整个文件名并下载。

2 个答案:

答案 0 :(得分:2)

使用BeautifulSoup - 它比处理lxml更容易:

http://www.crummy.com/software/BeautifulSoup/documentation.html

这里的各种问题涉及Beautiful和HTML解析:

https://stackoverflow.com/questions/tagged/beautifulsoup

答案 1 :(得分:1)

获得HTML数据后,解析它,然后您可以在页面中选择节点:

import lxml.html
tree = lxml.html.fromstring(dload)
for node in tree.xpath('//a'):
    print node['href']
相关问题