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

Posted

技术标签:

【中文标题】使用 urllib 和 BeautifulSoup 通过 Python 从 Web 检索信息【英文标题】:Using urllib and BeautifulSoup to retrieve info from web with Python 【发布时间】:2011-02-08 11:37:01 【问题描述】:

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

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

有没有办法在不从 urllib 生成文件的情况下调用 BeautifulSoup?

【问题讨论】:

【参考方案1】:
from BeautifulSoup import BeautifulSoup

soup = BeautifulSoup(htmlSource)

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

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

【讨论】:

【参考方案2】:

您可以使用gazpacho 打开网址,下载 html,并使其一次性解析:

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

【讨论】:

以上是关于使用 urllib 和 BeautifulSoup 通过 Python 从 Web 检索信息的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫:使用urllib.request和BeautifulSoup抓取新浪新闻标题链接和主要内容

python3: 爬虫---- urllib, beautifulsoup

python3 爬虫(urllib+beautifulsoup)beautifulsoup自动检测编码错误

requests和BeautifulSoup模块的使用

requests和BeautifulSoup

Python利用urllib模块+正则表达式并利用BeautifulSoup模块进行内容解析,爬取院士信息