首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

关于pyhon的mechanize模块使用有关问题

2013-06-19 
关于pyhon的mechanize模块使用问题最近在网上找了一些mechnize模块的使用资料,现在想实现一个python模拟浏

关于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的东西,设置一下试试,看看有没有发送的信息...

热点排行