程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python系列34:用python爬取ajax請求

編輯:Python

1. 查看ajax發送請求的真實地址

使用F12打開chrome的開發者界面,然後執行一遍頁面,我們能看到:

點擊執行時間最長的ajax請求,我們就能看到真實的請求(headers裡)和參數(payload裡)了:

2. 請求代碼

url:Header中的request url
headers:Header中的request headers
params:Payload中的Query String Parameters
data:Payload中的From Data
對比上面的兩張圖,爬取頁面信息的代碼如下:

import requests
from tqdm import tqdm
headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.115 Safari/537.36',
'Referer': 'https://www.jst-purple.com.cn/purple/index.php',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie':'PHPSESSID=tr0n497tu1oslsnpgct8n03261'}
url = "https://www.jst-purple.com.cn/purple/ajax_show_search_product.php"
params = {'callback':'jQuery1111007706371456432315_1655294131309'}
# 這裡一般用多線程去爬取網頁
for i in tqdm(range(1,248)):
rep=requests.post(url=url,params=params,data={"current_page":i},headers=headers)
html = rep.text...

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved