あるWebサイトから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()
この出力を与えます。