我想从某个网站上抓取 HTML,然后将其发送到 BeautifulSoup 进行解析。问题是 urllib2.urlopen() 返回的 HTML 包含换行符 (\n) 和制表符 (\t) 以及单引号和其他字符转义。当我尝试使用此 HTML 构建 BeautifulSoup 对象时,出现错误。
b = BeautifulSoup(src)
给出这个错误。
我的代码:
def get_page_source(url):
"""
Retrieves the HTML source code for url.
"""
try:
return urllib2.urlopen(url)
except:
return ""
def retrieve_links(url):
"""
Use the BeautifulSoup module to efficiently grab all links from the source
code retrieved by get_page_source.
"""
src = get_page_source(url)
b = BeautifulSoup(src)
.
.
.
我怎么解决这个问题?
编辑
import urllib2
link = "http://www.techcrunch.com/"
src = urllib2.urlopen(link).read()
f = open('out.txt', 'w')
f.write(src)
f.close()
给出这个输出。