mechanized,mechanized怎么读
简介:Mechanize是一个用于模拟浏览器的Python模块。考虑到爬虫需要的是数据,模块完全可以绕过验证码,直接使用Cookie登录。但是,Mechanize模块使用Cookie登录,Cookie的生命周期很短,而且该模块不支持JavaScript。总的来说,这个模块是一个非常好的解决验证码问题的方案,值得推荐。
该模块的具体用法如下:方法一:导入mechanize # import模块br=mechanize . browser()br . set _ handle _ equiv(true)br . set _ handle _ redirect(true)br . set _ handle _ referrer(true)br . set _ handle _ robots(False)br . set _ handle _ gzip(False)br . set _ handle _ refresh(mechanize。_http。HTTPRefreshProcessor(),max_time=1)header=[(Cookie , PHPSESSID=11 EB 50 F5 bec 637 EC 3506307 daf 1e 02 ea;ECS _ ID=ef 9 ff 8 c 13 f 0 c 4215 c 7935 da 16 a7 b 206 ca 03 c 44 fa;BD share _ first time=1484752989129;hm _ lvt _ 6424 EDC 88 ffc 5606738 fadb 6 f 51 be 89 f=1484574708,1484752969;hm _ lpvt _ 6424 EDC 88 ffc 5606738 fadb 6 f 51 be 89 f=1484757613 ),(用户代理, Mozilla/5.0(X11;Linux x86 _ 64)AppleWebKit/537.36(KHTML,像Gecko)Ubuntu Chromium/55 . 0 . 2883 . 87 Chrome/55 . 0 . 2883 . 87 Safari/537.36 )]#获取用户登录百度后请求头中的Cookie值和User-Agent,#其中Cookie包含账号和密码信息,User-Agent表示请求是浏览器请求的。#需要注意的是,这些Cookie和User-Agent的值是根据你自己的情况设置的。br . add headers=get headers(header)#以上都是初始化操作,下面正式操作br.open (3359 www.baidu.com) #打开百度结果=br.response()。read() #并输出该网页的代码内容。#如果你接触过BeautifulSoup,可以把得到的结果网页内容,用于以下方法:SOUP=beautiful SOUP(result, LXML) #剩下的可以用beautiful SOUP的知识解决#安装好必要的模块后,可以直接取上面的代码使用。方法2 Mechanize模拟浏览器和一些其他操作,如下所示
For in br.forms (): print (form)输出结果如下:
F获取https://www.baidu.com/s应用程序/x-www-form-urlencoded Hidden control(ie=utf-8)(readonly)Hidden control(F=8)(readonly)Hidden control(RSV _ BP=1)(readonly)Hidden control(RSV _ idx=1)(readonly)Hidden control(ch=)(TN=Baidu)(readonly)Hidden control(bar=)(readonly)文本控件(wd=)提交控件(none=Baidu) (readonly)隐藏控件(rn=) (readonly输入文本的位置是文本输入框TextControl(wd=)。选择框架,在框架中输入数据后提交数据。以搜索“Python网络爬虫”为例,
br . select _ form(name= f )br . form[ wd ]= Python Web Crawler br . Submit()# Submit result=br . response()。read() #输出结果,可以用BeautifulSoup处理,即soup=beautiful soup (result,)
对于br中的链接。links():print( % s:% s %(link . URL,link.text))使用方法四用mechanize browser打开指定的链接,例如:
Link=br.click _ link (text=编写自己的网络爬虫)br.open(newLink)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。