分享一則對於網抓中面對post請求訪問的頁面或者在分頁過程中需要post請求才可以訪問的內容!
post請求狀態碼和get請求的狀態碼一致,但是在引數中我們可以看到表單資料有很多的引數:
其中的__viewstate是必須要傳的引數,而這個引數是在原始碼中能獲取到的,這個__viewstate是asp.net中特有的,所以只有在訪問asp.net的**的時候這個引數是必須傳的,其他的**,只要有引數變化的表單資料就需要傳到post請求中!
我們在轉頁的過程中會看到類似於這樣的
表單,那後面的數字就是我們轉頁後的頁碼!所以我們的這個引數也要傳,獲取轉頁的頁碼的總數,同樣可以在原始碼中獲取,如果只顯示了1234頁,那就需要計算你需要的內容有多少個,每一頁的內容個數,做乙個取餘演算法就可以算出來了!
現在定義乙個post_data:
1 post_data=這是我自定義的post引數,page_num代表著分頁的頁碼。
__viewstate是在原始碼中,這裡分享的是xpath方法:
1 a = doc.xpath('使用beautifulsoup就是://input[@id="__viewstate"]')
2if len(a) >0:
3 post_data['
__viewstate
'] = a[0].get('
value
')
1 soup = beautifulsoup(h,"獲取到重要的表單資料後,我們就只需要傳參訪問網頁原始碼了!html.parser")
2 a = soup.find('
input
',id='
__viewstate')
3ifa:4 post_data['
__viewstate
'] = a['
value
']
1 r2 = requests.post(url,data=post_data,headers=headers,timeout=20)xpath的解析**: doc2 = html.document_fromstring(網頁原始碼)2 ht2 = r2.content #
這裡就是訪問的網頁原始碼!
正則解析 分頁爬取
usr bin python import requests import re import os if name main headers 建立乙個資料夾,儲存所有 if not os.path.exists qiutulibs2 os.mkdir qiutulibs2 設定乙個通用的url模板...
爬蟲分頁爬取獵聘 15python爬取百度貼吧
不要問我這個十一去哪兒旅遊了,我還在家沒日沒夜的碼 這次我們用urllib爬取頁面,再用beautifulsoup提取有用資訊,最後用xlsxwriter把獲取的資訊 寫入到excel表 python 基礎 xlsxwriter用來寫入excel檔案的 urllib python內建爬蟲工具 bea...
爬蟲學習(四) post請求爬取
import urllib.request import urllib.parse post url word input 請輸入要翻譯的內容 data 對表單資料進行處理時,先轉換成為字串,在轉換成為位元組 只轉化成為字串形式 data1 urllib.parse.urlencode data p...