Python3 爬虫带上 cookie


本文摘自php中文网,作者Guanhui,侵删。

Cookie的英文原意是“点心”,它是在客户端访问Web服务器时,服务器在客户端硬盘上存放的信息,好像是服务器发送给客户的“点心”。服务器可以根据Cookie来跟踪客户状态,这对于需要区别客户的场合(如电子商务)特别有用。

当客户端首次请求访问服务器时,服务器先在客户端存放包含该客户的相关信息的Cookie,以后客户端每次请求访问服务器时,都会在HTTP请求数据中包含Cookie,服务器解析HTTP请求中的Cookie,就能由此获得关于客户的相关信息。

下面我们就来看一下python3爬虫带上cookie的方法:

1、直接将Cookie写在header头部

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

# coding:utf-8

import requests

from bs4 import BeautifulSoup

cookie = '''cisession=19dfd70a27ec0eecf1fe3fc2e48b7f91c7c83c60;CNZZDATA1000201968=181584

6425-1478580135-https%253A%252F%252Fwww.baidu.com%252F%7C1483922031;Hm_lvt_f805f7762a9a2

37a0deac37015e9f6d9=1482722012,1483926313;Hm_lpvt_f805f7762a9a237a0deac37015e9f6d9=14839

26368'''

header = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Geck

o) Chrome/53.0.2785.143 Safari/537.36',

'Connection': 'keep-alive',

'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

'Cookie': cookie}

url = 'https://www.jb51.net/article/191947.htm'

wbdata = requests.get(url,headers=header).text

soup = BeautifulSoup(wbdata,'lxml')

print(soup)

2、使用requests插入Cookie

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# coding:utf-8

import requests

from bs4 import BeautifulSoup

cookie = {

"cisession":"19dfd70a27ec0eecf1fe3fc2e48b7f91c7c83c60",

"CNZZDATA100020196":"1815846425-1478580135-https%253A%252F%252Fwww.baidu.com%252F%7C1483

922031",

"Hm_lvt_f805f7762a9a237a0deac37015e9f6d9":"1482722012,1483926313",

"Hm_lpvt_f805f7762a9a237a0deac37015e9f6d9":"1483926368"

}

url = 'https://www.jb51.net/article/191947.htm'

wbdata = requests.get(url,cookies=cookie).text

soup = BeautifulSoup(wbdata,'lxml')

print(soup)

实例扩展:

使用cookie登录哈工大ACM站点

获取站点登录地址

http://acm.hit.edu.cn/hoj/system/login

查看要传送的post数据
user和password

阅读剩余部分

相关阅读 >>

Python中print什么意思

怎么在电脑上下载Python

Python怎么计数

Python操作mysql的实例详解

Python中的元类(metaclass)是什么

在jupyter notebook中同时安装Python2和Python3

Python如何自定义函数

Python的pip工具是什么

Python语言及其特点简介

Python中调用外部命令是什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...