python逆向分析爬取通用模板代码
时间: 2023-09-28 10:11:37 浏览: 193
python爬虫之爬取百度云源代码.7z
Python逆向分析爬取通用模板代码的步骤如下:
1. 使用Chrome等浏览器打开目标网站,并按F12打开开发者工具,进入Network面板,勾选“Preserve log”选项。
2. 在浏览器中输入目标网站的URL,按下回车键,此时开发者工具会记录下所有的网络请求。
3. 在Network面板中找到目标请求,右键选择“Copy” -> “Copy as cURL”获取该请求的cURL命令。
4. 在Python中使用requests库发送该cURL命令,即可获取请求的结果。
5. 解析结果,提取需要的数据。
下面是一个示例代码:
```python
import requests
import json
# 替换为目标请求的cURL命令
curl_cmd = "curl 'https://www.example.com/api/xxx' -H 'authority: www.example.com' -H 'accept: */*' -H 'sec-fetch-dest: empty' -H 'x-requested-with: XMLHttpRequest' -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36' -H 'content-type: application/json;charset=UTF-8' -H 'origin: https://www.example.com' -H 'sec-fetch-site: same-origin' -H 'sec-fetch-mode: cors' -H 'referer: https://www.example.com/' -H 'accept-language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' --data-raw '{\"page\":1,\"pageSize\":20}' --compressed"
# 将cURL命令转换为requests的参数
cmd_parts = curl_cmd.split()
url = cmd_parts[1]
headers = {cmd_parts[i]: cmd_parts[i+1] for i in range(2, len(cmd_parts)) if cmd_parts[i-1] == "-H"}
data = json.loads(cmd_parts[-1])
# 发送请求并解析结果
response = requests.post(url, headers=headers, json=data)
result = json.loads(response.text)
print(result)
```
需要注意,由于不同网站的请求参数和请求头可能不同,因此需要根据具体情况修改上述代码中的curl_cmd、headers和data等参数。
阅读全文