抓取需要登入才能訪問的頁面
1、先登入成功1次,獲取到攜帶登陸資訊的cookie
f12開啟控制台,在頁面輸入使用者名稱、密碼,登入成功,找到/home(一般在抓到位址的上面)
2、攜帶著cookie發請求
** cookie
** referer(源,代表你從**轉過來的)
** user-agent
import requests
from lxml import etree
# url為需要登入才能正常訪問的位址
url =
''# headers中的cookie為登入成功後抓取到的cookie
headers =
html = requests.get(url,headers=headers)
.text
# 解析
parse_html = etree.html(html)
result = parse_html.xpath(
'//*[@id="operate_area"]/div[1]/ul/li[1]/span/text()')[
0].strip(
)# result:就讀於**戲劇學院
print
(result)
知識點
利用requests模組中的session會話保持功能
session會話使用流程
1、例項化session物件
session = requests.session(
)2、讓session物件傳送get或者post請求
res = session.get(url,headers=headers)
具體步驟
1、尋找登入時post的位址
檢視網頁原始碼,檢視form,找action對應的位址: http:
2、傳送使用者名稱和密碼資訊到post的位址
* 使用者名稱和密碼資訊以什麼方式傳送? -
- 字典
鍵 :<
input
>標籤中name的值(email,password)
值 :真實的使用者名稱和密碼
post_data =
程式實現
整體思路
1、先post: 把使用者名稱和密碼資訊post到某個位址中
2、再get: 正常請求去獲取頁面資訊
import requests
from lxml import etree
# 定義常用變數
# 例項化session會話保持物件
session = requests.session(
)# 先post,把使用者名稱和密碼資訊post到乙個位址
session.post(post_url,data=post_data,headers=headers)
# 再get個人主頁
url =
''html = session.get(url,headers=headers)
.text
parse_html = etree.html(html)
result = parse_html.xpath(
'//*[@id="operate_area"]/div[1]/ul/li[1]/span/text()')[
0].strip(
)print
(result)
python爬蟲之使用靜態Cookie模擬使用者登入
首先介紹下cookie內容,什麼是cookie。cookie的引文原意是 點心 它是在客戶端訪問web伺服器時,伺服器在客戶端硬c盤上存放的資訊,好像是伺服器傳送給客戶的 點心 伺服器可以根據cookie來跟蹤客戶狀態,這對於需c要區別客戶的場合 如電子商務 特別有用。當客戶端首次請求訪問伺服器時,...
python爬蟲 cookie的使用
在做登入的post請求時,需要記住cookie,否則不能訪問登入後的頁面。下面是登入的 postdata urllib.parse.urlencode encode utf 8 使用urlencode編碼處理後,再設定為utf 8編碼header req urllib.request.request...
python爬蟲cookie方面 1
cookie session 由於http協議的無記憶性,人們為了彌補這個缺憾,所採用的乙個補充協議 cookie是發給使用者 即http瀏覽器 的一段資訊,session是儲存在伺服器上的對應的另一半資訊,用來記錄使用者資訊 cookie和session的區別 存放位置不同 cookie不安全 s...