-2

我正在尝试使用 html 解析器 http://easyhtmlparser.sourceforge.net/从页面中获取所有链接和图像

fd = open('file.html', 'r')
data = fd.read()
fd.close()
html = Html()
dom = html.feed(data)
for ind in dom.sail():
    if ind.name == 'a':
        print ind.attr['ref']
4

2 回答 2

1

好吧,我并不是特别想阅读 easyhtmlparser 的文档,但如果你愿意使用Beautiful Soup

from bs4 import BeautifulSoup
fd = open('file.html', 'r')
data = fd.read()
fd.close()
soup = BeautifulSoup(data)
for link in soup.find_all('a'):
    print(link.get('href')) #or do whatever with it

应该可以,但我没有测试过。祝你好运!

编辑:现在我有了。有用。

编辑 2:要查找图像,请搜索所有图像标签等,找到 src 链接。我相信您可以在 Beautiful Soup 或 easyhtmlparser 文档中找到方法。

要下载并放入文件夹,

import urllib
urllib.urlretrieve(IMAGE_URL, path_to_folder/imagename)

或者你可以从 urllib 中读取,因为最后一切都只是一个字符串,并且读取比检索更简单。

于 2013-07-03T07:57:14.373 回答
0

我会这样做。

from ehp import *

with open('file.html', 'r') as fd:
    data = fd.read()

html = Html()
dom = html.feed(data)

for ind in dom.sail():
    if ind.name == 'a':
        print ind.attr['href']
    elif ind.name == 'img':
        print ind.attr['src']    
于 2013-07-03T08:16:58.600 回答