python爬虫——使用Cookie

 

场景:当我们以未登录身份使用浏览器访问一个看书的相关网址时,只显示了亚马逊的购买链接。隐藏了书籍的下载链接。

但是当我们登录以后,下载链接会显示出来,这样在爬虫的时候,可以把下载链接解析出来使用。

登录前后网页Headers-Request Headers显示的Cookie不同。下图为浏览器和Web服务器之间的交互,也显示了Cookie的信息。

 

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

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

因此我们使用登录以后的Cookie。自己编辑Cookie访问Web服务器。网络爬虫中Cookie的两种使用方式,代码中网页已经不存在,但是可以自己在其他网页中尝试。我们使用的是登录之后的Cookie。

1、直接将Cookie写在header头部

 
  1. # coding:utf-8

  2. import requests

  3. from bs4 import BeautifulSoup

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

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

  6. 37a0deac37015e9f6d9=1482722012,1483926313;Hm_lpvt_f805f7762a9a237a0deac37015e9f6d9=14839

  7. 26368'''

  8. header = {

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

  10. o) Chrome/53.0.2785.143 Safari/537.36',

  11. 'Connection': 'keep-alive',

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

  13. 'Cookie': cookie}

  14. url = 'https://kankandou.com/book/view/22353.html'

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

  16. soup = BeautifulSoup(wbdata,'lxml')

  17. print(soup)

2、使用requests插入Cookie

 
  1. # coding:utf-8

  2. import requests

  3. from bs4 import BeautifulSoup

  4. cookie = {

  5. "cisession":"19dfd70a27ec0eecf1fe3fc2e48b7f91c7c83c60",

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

  7. 922031",

  8. "Hm_lvt_f805f7762a9a237a0deac37015e9f6d9":"1482722012,1483926313",

  9. "Hm_lpvt_f805f7762a9a237a0deac37015e9f6d9":"1483926368"

  10. }

  11. url = 'https://kankandou.com/book/view/22353.html'

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

  13. soup = BeautifulSoup(wbdata,'lxml')

  14. print(soup)

这样我们就轻松的使用Cookie获取到了需要登录验证后才能浏览的网页和资源了。上面的Cookie是从自己浏览的网页中复制粘贴得到的。

python学习资料领取,python相关问题咨询,请看主页简介或加q裙 467604262

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值