使用urllib和BeautifulSoup通过Python从Web检索信息

时间:2010-04-15 16:34:30

标签: python web-scraping beautifulsoup urllib2

我可以使用urllib获取html页面,并使用BeautifulSoup来解析html页面,看起来我必须生成要从BeautifulSoup读取的文件。

import urllib                                       
sock = urllib.urlopen("http://SOMEWHERE") 
htmlSource = sock.read()                            
sock.close()                                        
--> write to file

有没有办法调用BeautifulSoup而不从urllib生成文件?

2 个答案:

答案 0 :(得分:20)

from BeautifulSoup import BeautifulSoup

soup = BeautifulSoup(htmlSource)

无需编写文件:只需传入HTML字符串即可。您还可以直接传递从urlopen返回的对象:

f = urllib.urlopen("http://SOMEWHERE") 
soup = BeautifulSoup(f)

答案 1 :(得分:0)

您可以打开网址,下载html,然后使用gazpacho使其可解析:

from gazpacho import Soup
soup = Soup.get("https://www.example.com/")