如何用Python获取HTML文件?
我对Python不是很熟悉。现在我想从这个页面提取艺术家的名字(先从这个开始 :)):http://www.infolanka.com/miyuru_gee/art/art.html。
我该怎么获取这个页面的内容呢?我主要有两个问题:我应该用什么函数,以及怎么把那些没用的链接过滤掉?
8 个回答
6
使用 urllib2 来获取网页。
使用 BeautifulSoup 来解析HTML(网页内容),然后提取你想要的信息!
7
我觉得“eyquem”的方法也是我的选择,不过我更喜欢用httplib2,而不是urllib。urllib2对于这个工作来说太底层了。
import httplib2, re
pat = re.compile('<DT><a href="[^"]+">(.+?)</a>')
http = httplib2.Http()
headers, body = http.request("http://www.infolanka.com/miyuru_gee/art/art.html")
li = pat.findall(body)
print li
24
这是一个使用urlib和lxml.html的示例:
import urllib
from lxml import html
url = "http://www.infolanka.com/miyuru_gee/art/art.html"
page = html.fromstring(urllib.urlopen(url).read())
for link in page.xpath("//a"):
print "Name", link.text, "URL", link.get("href")
output >>
[('Aathma Liyanage', 'athma.html'),
('Abewardhana Balasuriya', 'abewardhana.html'),
('Aelian Thilakeratne', 'aelian_thi.html'),
('Ahamed Mohideen', 'ahamed.html'),
]