欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python爬虫之模拟登录(一)

程序员文章站 2024-03-16 14:30:46
...

python爬虫之模拟登录

这里我们讲解一下,python爬虫必备的模拟登录技能,通过下面的课程希望你们能了解析python爬虫之模拟登录机制与实现原理



前言

随着网站日益更新,我们ptyhon爬虫对网站的负载压力,我们会发现很多网站都做了反爬机制,如模拟登录,js加密,js混淆,css字体,等一系列反爬机制,我们今天主要讲解一下模拟登录


一、pyhton模拟登录原理

我们在很多网站上都有登录过帐号,我们浏览器里会一个叫cookie的值的东西,它是网站记录我们登录状态的判定,也是我们python模拟登录的核心要素,下面我们爬取药智网的个人信息页面,我们主要是实现模拟登录,所以爬取方面我会带着解读一下。

https://www.yaozh.com/login

二、分析网站

1.登录分析

python爬虫之模拟登录(一)
上面图是第一次登录准备的事情,我们记得打勾这个是很重要的,作用是记录上一次的日志。

2.正式登录分析login文件

python爬虫之模拟登录(一)

通过搜索我们发现两个login记住这里用下面的login,因为我们记录的上一次的login,后面login是我们登录的网址。从图中我们可以看到此网页为post请求,我们就知道是有表单的,我们下面分析一表单数据
python爬虫之模拟登录(一)
由于隐私问题请见谅,这里就是我们要提交的表单数据。

3.源码分析

import requests

def html_text():
    url='https://www.yaozh.com/login'
    frmo_data={
        'username': '', #输入你的帐号
        'pwd': '', #输入你的密码
        'formhash':'',#你对应的hash
        'backurl':'%2F%2Fwww.yaozh.com'
    }
    session=requests.Session()
    header={
        'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0',
        'Host':'www.yaozh.com'
    }
    data=session.post(url,data=frmo_data,headers=header)  #通过seiion.保存自己的cookie。
    meber_url='https://www.yaozh.com/member/'
    data=session.get(meber_url,headers=header).text #通过session请求个人信息页面,就这个session带了cookie去请求的。
    print(data)
html_text()


这里就是我们返的回的用户名
python爬虫之模拟登录(一)

总结

所以通过上述的解析与源码的对应我们知道, 模拟登录其实不是很验的,只要搞懂他的模拟机制就可以了。

人生苦短,我用Python