【发布时间】:2013-12-06 11:10:29
【问题描述】:
当我尝试在以下代码中混合使用 mechanize 和 BeautifulSoup 时,我得到了一个:
from BeautifulSoup import BeautifulSoup
import urllib2
import re
import mechanize
br=mechanize.Browser()
br.set_handle_robots(True)
br.open('http://tel.search.ch/')
br.select_form(nr=0)
br.form["was"] = "siemens"
br.submit()
content = br.response
soup = BeautifulSoup(content)
for a in soup.findAll('a',href=True):
if re.findall('title', a['href']):
print "URL:", a['href']
br.close()
从一开始到 br.submit() 的代码在 mechanize 和 BeautifulSoup 的 for 循环中都可以正常工作。但我不知道如何将 br.submit() 的结果传递给 BeautifulSoup。两行:
content = br.response
soup = BeautifulSoup(content)
显然是错误的。我收到一个关于 soup = BeautifulSoup(content) 的错误:
TypeError:预期的字符串或缓冲区
有人可以帮忙吗?
【问题讨论】:
-
放一个断点并确定“内容”包含的内容将是我的起点......
标签: beautifulsoup mechanize-python