手写爬虫模拟登陆(无验证码)

框架用多了,都是别人写好的一些内容,最近想自己手写一份爬虫模拟登陆系统,手写有什么好处呢?可以让你更好的去理解爬虫系统.我用的linux系统,pycharm版本3.6,

正文

首先手写的你需要安装requests:pip3 install requests
我们以访问抽屉为例:https://dig.chouti.com/
手写模拟登陆,首先我们得访问这个网站,获取cookie(未授权) ,代码如下:
# 1. 先访问抽屉新热榜,获取cookie(未授权),因为该网站有反爬虫,所以我们加上User-Agent来模拟浏览器访问,urls就是你访问的页面的地址,请求方式为get
r1 = requests.get(
url='https://dig.chouti.com/all/hot/recent/1',
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36
}

接下来我们模拟登陆,模拟登陆我们需要模仿浏览器提交的数据,提交的方式为post,在这里我们带上前面获取的cookie,带上登陆需要的账号密码,并且带上User-Agent来模拟浏览器登陆,不然会被拦截

    response = requests.post(
    url='https://dig.chouti.com/login',
    data={
        'phone':'8613121758648',
        'password':'woshiniba',


    },
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
    },
    cookies = r1.cookies.get_dict()

最后,我们可以检测有没有登陆成功
print(response.text)
结果如下:
{“result”:{“code”:”9999”, “message”:”“, “data”:{“complateReg”:”0”,”destJid”:”cdu_49803354421”}}}
说明登陆成功了,登陆成功那么该页面我们就可以获取页面和解析页面来爬虫了,这里就不介绍了
总体代码如下:
import requests

r1 = requests.get(
url='https://dig.chouti.com/all/hot/recent/1',
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
}
)
r1_cookie_dict = r1.cookies.get_dict()

response = requests.post(
url='https://dig.chouti.com/login',
data={
'phone':'8613121758648',
'password':'woshiniba',
},

headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
},
cookies = r1.cookies.get_dict()
)

print(response.text)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值