python 模擬豆瓣登陸(豆瓣6.0)

最近在學習python爬蟲,看到網上有不少關於模擬豆瓣登陸的例子,隨意找了一個試了下,發現不能運行,對比了一下代碼和豆瓣網站,發現原來是豆瓣網站作了修改,增長了反爬措施。html

首先看下要模擬登陸的網站:python

打開開發者模式:cookie

 

在帳號和密碼隨意填入數據session

發現會發送一個post請求:python爬蟲

ur是:https://accounts.douban.com/j/mobile/login/basicide

數據格式是:post

因而能夠來編寫代碼:
學習

import requests

def
main(): url_basic = 'https://accounts.douban.com/j/mobile/login/basic' url = 'https://www.douban.com/' ua_headers = { "User-Agent":'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'} data = { 'ck': '', 'name': '本身的帳號', 'password': '本身的密碼', 'remember': 'false', 'ticket': '' }
s
= requests.session() s.post(url=url_basic, headers=ua_headers, data=data) response = s.get(url=url, headers=ua_headers) with open('douban.html' , 'wb') as f: f.write(response.content) if __name__ == '__main__': main()

第一步:網站

  建立 s = requests.session()url

  做用是跨請求保持參數,也就是說s這個session對象所發出的全部請求之間會保持cookies

第二步:

  用建立好的session對象攜帶帳號,密碼去發送post請求。

  因爲改版後的豆瓣返回的是一個josn數據,而不是像之前同樣重定向,因此須要咱們來重定向。

第三步:

  攜帶登陸成功保存的cookie去訪問首頁,就會獲得你本身的首頁.

最後獲得我的首頁:

相關文章
相關標籤/搜索