数据抓取 --requests库的使用问题 (1) 使用cookie 免密码账户登录

下面是一个需要登陆账户和密码后可以浏览的网站。 那么我们如何,在不需要登陆账户密码的情况下使用requests爬取网页信息呢?

http://www.aanngg.com/index.php/Index/Index/category/kuanshi/2/clear/all/navPos/2

 

步骤: 

STEP1: 使用CHROME登陆账户密码,找到COOKIE。

STEP2: 在requests 的  headers 中设置COOKIE

 

STEP1:

使用CHROME浏览器,登陆需要登陆的网址(如:http://www.aanngg.com/index.php/Index/Index/category/kuanshi/2/clear/all/navPos/2)。 

然后点击   F12 

结果如下,会弹出下面的开发者工具: 依次 点击 Network,Preserve log 。 然后输入账户密码,并点击登陆。

 

然后:随便点击其中的几个左边的文件,一般为JSON格式的。 

在右边点击Headers 的位置,我们会发现Cookie,将其复制。

 

STEP2:


# 将复制的cookie 复制到 cookie= 这个位置,记得要用三引号,因为cookie 一般比较长,如果用双引号经常因为换行的问题出错。

# 在headers 中设置对应的      'Cookie': cookie 就可以了。

import random
import requests
from bs4 import BeautifulSoup
import chardet
import re
import pymysql
from datetime import *
import time



# 将复制的cookie 复制到 cookie= 这个位置,记得要用三引号,因为cookie 一般比较长,如果用双引号经常因为换行的问题出错。

cookie = '''PHPSESSID=06e2ff0ahgr7heg0f2qsk2ggk6; history=think%3A%7B%220%22%3A%221956%22%2C%222%22%3A%22425%22%2C%223%22%3A%22172%22%2C%224%22%3A%221895%22%2C%225%22%3A%221935%22%7D; d070c46af402eb5bb2185af10ea95ba8=143fb0a022570267d93df7351edb3b17; d070c46af402eb5bb2185af10ea95ba8_op=04097392bb463f532c4414c53b9d8add'''
url = 'http://www.aanngg.com/index.php/Index/Index/category/kuanshi/1/clear/all/navPos/3/p/1'

# 在headers 中设置对应的      'Cookie': cookie 就可以了。

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60',
'Cookie': cookie
}

response = requests.get(url=url, headers=headers, timeout=30)
response.encoding = chardet.detect(response.content)['encoding']
text = response.text
soup = BeautifulSoup(text, 'lxml')

print(soup)

结果如下:爬取得结果和网页的源码一样了。

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值