python 爬虫网页登陆的简单实现_第1页
python 爬虫网页登陆的简单实现_第2页
python 爬虫网页登陆的简单实现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第python爬虫网页登陆的简单实现相信各位在写python爬虫的时候会在爬取网站时遇到一些登陆的问题,比如说登陆时遇到输入验证码比如说登录时遇到图片拖拽等验证,如何解决这类问题呢?一般有两种方案。

使用cookie登陆

我们可以通过使用cookies登陆,首先获取浏览器的cookie,然后利用requests库直接登陆cookie,服务器就会认为你是一个真实登陆用户,所以就会返回给你一个已登陆的状态,这个方法是很好用的,基本上绝大部分的需要验证码登录的网站都可以通过cookie登录来解决,

#!-*-encoding:utf-8-*-

importrequests

importrandom

importrequests.adapters

#要访问的目标页面

targetUrlList=[

"/ip",

"/headers",

"/user-agent",

#代理服务器

proxyHost=""

proxyPort="31111"

#代理隧道验证信息

proxyUser="username"

proxyPass="password"

proxyMeta="http://%(user)s:%(pass)s@%(host)s:%(port)s"%{

"host":proxyHost,

"port":proxyPort,

"user":proxyUser,

"pass":proxyPass,

#设置http和https访问都是用HTTP代理

proxies={

"http":proxyMeta,

"https":proxyMeta,

#访问三次网站,使用相同的Session(keep-alive),均能够保持相同的外网IP

s=requests.session()

#设置cookie

cookie_dict={"JSESSION":"123456789"}

cookies=requests.utils.cookiejar_from_dict(cookie_dict,cookiejar=None,overwrite=True)

s.cookies=cookies

foriinrange(3):

forurlintargetUrlList:

r=s.get(url,proxies=proxies)

printr.text

若存在验证码,此时采用resp**e=requests_session.post(url=url_login,data=data)是不行的,做法应该如下:

resp**e_captcha=requests_session.get(url=url_login,cookies=cookies)

resp**e1=requests.get(url_login)#未登陆

resp**e2=requests_session.get(url_login)#已登陆,因为之前拿到了Resp**eCookie!

resp**e3=requests_session.get(url_results)#已登陆,因为之前拿到了Resp**eCookie!

模拟登陆

这里不得不说一句老话,前人种树,后人乘凉,当时我想爬一下知乎盐选的文章,但是卡在了登陆这块,没想到搜索下来发现了一个模拟登陆的库,非常好用,不过本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论