爬虫--模拟登录

模拟登录流程:

  对点击登录按钮对应的请求进行发送(post请求)

  处理请求参数:

    --用户名

    --密码

    --验证码

    --其他的防伪参数 

 

模拟登录cookie操作:

1.手动cookie处理

通过抓包工具获取cookie值,将该值封装到headers中

2.自动处理cookie

  模拟登录post请求后,cookie由服务器端创建

  session会话对象:

    1.可以进行请求的发送

    2.如果请求过程中产生了cookie,则该cookie会被自动存储在该session对象中

  --创建一个session对象:session = requests.Session()

  --使用session对象进行模拟登录post请求的发送(cookie会被存储在session中)

  --session对象对个人主页对应的get请求进行发送

    session = requests.Session()
    response = session.post(url=url,headers=headers,data=data)
    # cookie会自动存储到session对象中,之后需要用到cookie时,使用session对象进行发送
    page_text = session.get(url=url,headers=headers).text # 携带了cookie值发送

 

代理:

破解IP限制的反爬机制

代理即代理服务器

代理相关网站:

  --快代理

  --西祠代理

  --www.goubanjia.com(已挂)

代理ip的类型:

  --http:只能应用到http协议对应的url中

  --https:只能应用到https协议对应的url中

代理ip的匿名度:

  --透明:服务器知道此次请求使用了代理,也知道该请求对应的真实ip

  --匿名:知道使用了代理但是不知道真实ip

  --高匿:不知道使用代理,也不知道真实ip

基本代码:

复制代码
import requests

if __name__ == '__main__':
    url = 'https://www.baidu.com/s?ie=UTF-8&wd=ip'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome...'
    }
    page_text = requests.get(url=url,headers=headers,proxies={'https':'194.233.73.107:443'}).text
    with open('myip.html','w',encoding='utf-8') as fp:
        fp.write(page_text)
复制代码

 

posted @   EricYJChung  阅读(128)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示