最近在學習python爬蟲,看到網上有很多關於模擬豆瓣登入的例子,隨意找了乙個試了下,發現不能執行,對比了一下**和豆瓣**,發現原來是豆瓣**做了修改,增加了反爬措施。
首先看下要模擬登入的**:
開啟開發者模式:
在賬號和密碼隨意填入資料:
發現會傳送乙個post請求:
ur是:
資料格式是:
於是可以來編寫**:
import requests第一步:defmain():
url_basic = '
'url = '
'ua_headers =
data =
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()
作用是跨請求保持引數,也就是說s這個session物件所發出的所有請求之間會保持cookies
第二步:
用建立好的session物件攜帶賬號,密碼去傳送post請求。
由於改版後的豆瓣返回的是乙個josn資料,而不是像以前一樣重定向,所以需要我們來重定向。
第三步:
攜帶登入成功儲存的cookie去訪問首頁,就會得到你自己的首頁.
最後得到個人首頁:
模擬登入豆瓣
豆瓣的模擬登入比較簡單,唯一麻煩的是需要手動輸入驗證碼 注意當沒有驗證碼的時候下面的 是不行的,當沒有驗證碼的時候會更加簡單,form表單中 會少新增id和yzm屬性 import requests from lxml import etree import os,time,urllib impor...
python 模擬登入豆瓣 並 發表動態
模擬登入這塊一直沒搞過,主要是對 模擬登陸的流程不太熟悉,網上找了好多資料,感覺熟悉個大概,就先用豆瓣 試試。驗證碼這一塊,現在主要是先把驗證碼的儲存下來,手動輸入驗證碼,後期研究下python自動識別驗證碼。主要實現 登入豆瓣,並發表一句話 coding utf 8 import re impor...
python爬蟲登入豆瓣(一)
使用 第三方庫 requests 通過使用 chrome 瀏覽器抓包,可以得到這個請求,將其中的 headers 和 data 提交。最後輸出到 douban.html 的檔案中,即可檢視登入的介面。這次請求是第一次登入,所有介面為提示修改個人資訊。將賬號和密碼改為自己的帳號和密碼 data hos...