用python爬取需要登录的网站

日期: 2024-09-21 08:02:16|浏览: 9|编号: 96836

友情提醒:信息内容由网友发布,请自鉴内容实用性。

python爬取需要登录的网站

如何抓取需要登录的网站

如果你想要爬取一个网页,但是该网页需要登录才能访问,且登录的时候不需要验证码,那么你可以使用下面的方法创建一个:

当你用浏览器登录网站时,服务器会自动创建一个对象,在其有效期内,对象中的变量会在整个用户会话期间被保存。

因此我们可以先创建一个对象

 import requests
 session_request=requests.session()

使用抓取请求参数

打开后,在浏览器中输入账号密码登录,并抓取请求参数

(爬取的网页是公司测试环境的,项目还在内测阶段,所以链接被马赛克了,这个不是重点,呵呵)

查看下图登录时请求的接口,很明显登录时请求的接口是post的。

如下图所示,请求中传递了四个参数

,,,

这个密码和我们在浏览器输入的密码不一样,因为是加密的,虽然不知道是怎么加密的,不过没关系,复制过去就行了。

值为空,没关系,只需附加一个空字符串

接下来我们看一下服务器返回给我们什么。

比如有一个,后面访问其他网页的时候会用到这个参数。

模拟浏览器发起登录请求

现在我们知道了浏览器是怎么向服务器发送请求的,以及服务器返回了什么数据,下面我们就可以开始模拟浏览器发起登录请求了!

 import requests
 session_request=requests.session()
 login_url='http://******/Login'       #登录时请求的url
        result=session_request.post(
            login_url,
            data={
   						#构造post请求的数据,按顺序复制粘贴参数就好了
                'loginName':'1********8',		
                

提醒:请联系我时一定说明是从浚耀商务生活网上看到的!