关于pyhon的mechanize模块使用问题
最近在网上找了一些mechnize模块的使用资料,现在想实现一个python模拟浏览器实现搜索的功能,下面这段代码在百度,google上都可以运行,但是用在新浪上就发现问题,还请各位高手帮忙看一下:
import mechanize
import cookielib
# Browser
br = mechanize.Browser()
# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
# Want debugging messages?
#br.set_debug_http(True)
#br.set_debug_redirects(True)
#br.set_debug_responses(True)
# User-Agent (this is cheating, ok?)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
r = br.open('http://www.sina.com')
#html = r.read()
Show the source
# or
print br.response().read()
# Show the html title
print br.title()
# Show the response headers
print r.info()
# or
print br.response().info()
# Show the available forms
for f in br.forms():
print f
# Select the first (index zero) form
br.select_form(nr=0)
# Let's search
#br.form['SerchType'] = ['新闻']
br.form['SerchKey']='sony'
br.submit()
print br.response().read()
代码中粗体部分就是对应的搜索站点,submit以后,返回的页面应该是搜索的结果页面,但是这里是新浪的首页,(即www.sina.com),想问一下问题到底出在哪里,谢谢大家!(本人菜鸟,刚接触python,望各位勿见笑) python mechanize 模拟浏览器
[解决办法]
mechanize没用过不懂,不过看了下www.sina.com页面代码,你选定提交第一个表单不对吧,新闻类搜索貌似应该提交第二个...
[解决办法]
估计mechanize不能处理javascript吧,所以上面才说要你提交第二个。看到你的代码里有类似debug的东西,设置一下试试,看看有没有发送的信息...