欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python的Post請求數(shù)據(jù)爬取的方法詳解

 更新時間:2019年06月14日 10:18:21   作者:余大魚  
這篇文章主要介紹了基于Python的Post請求數(shù)據(jù)爬取的方法,需要的朋友可以參考下

為什么做這個

和同學(xué)聊天,他想爬取一個網(wǎng)站的post請求

觀察

該網(wǎng)站的post請求參數(shù)有兩種類型:(1)參數(shù)體放在了query中,即url拼接參數(shù)(2)body中要加入一個空的json對象,關(guān)于為什么要加入空的json對象,猜測原因為反爬蟲。既有query參數(shù)又有空對象體的body參數(shù)是一件腦洞很大的事情。
一開始先在 apizza網(wǎng)站 上了做了相關(guān)實驗才發(fā)現(xiàn)上面這個規(guī)律的,并發(fā)現(xiàn)該網(wǎng)站的請求參數(shù)要為raw形式,要是直接寫代碼找規(guī)律不是一件容易的事情。

源碼

import requests
import json
headers = {
    'Accept':'application/json, text/javascript, */*; q=0.01',
    'X-Requested-With':'XMLHttpRequest',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36',
    'Content-Type':'application/json',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.8',
    'Cache-Control':'no-cache',
  }
#空的對象,body參數(shù)
data = {}
data = json.dumps(data)
page = 0
url = '網(wǎng)站地址,后面為參數(shù)?param1=1¶m1='+str(page)
response = requests.post(url = url,data=data ,headers =headers )
print(response.url)
print(response.text)

總結(jié)

  • 現(xiàn)在相關(guān)工具中發(fā)現(xiàn)現(xiàn)象
  • 請求方式確定:post還是get或者其它
  • 參數(shù)類型:form-data還是raw或者其它
  • 參數(shù)位置:若是post請求,在query中還是body中,還是二者皆有

ps:python requests 發(fā)起http POST 請求

python requests 發(fā)起http POST 請求,帶參數(shù),帶請求頭:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
url = 'http://official-account/app/messages/group'
body = {"type": "text", "content": "測試文本", "tag_id": "20717"}
headers = {'content-type': "application/json", 'Authorization': 'APP appid = 4abf1a,token = 9480295ab2e2eddb8'}
#print type(body)
#print type(json.dumps(body))
# 這里有個細節(jié),如果body需要json形式的話,需要做處理
# 可以是data = json.dumps(body)
response = requests.post(url, data = json.dumps(body), headers = headers)
# 也可以直接將data字段換成json字段,2.4.3版本之后支持
# response = requests.post(url, json = body, headers = headers)
# 返回信息
print response.text
# 返回響應(yīng)頭
print response.status_code 

總結(jié)

以上所述是小編給大家介紹的基于Python的Post請求數(shù)據(jù)爬取的方法詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!  

相關(guān)文章

  • 拿來就用!Python批量合并PDF的示例代碼

    拿來就用!Python批量合并PDF的示例代碼

    這篇文章主要介紹了Python批量合并PDF的示例代碼,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • Pandas中的loc與iloc區(qū)別與用法小結(jié)

    Pandas中的loc與iloc區(qū)別與用法小結(jié)

    loc函數(shù):通過行索引 “Index” 中的具體值來取行數(shù)據(jù)(如取"Index"為"A"的行)而iloc函數(shù):通過行號來取行數(shù)據(jù)(如取第二行的數(shù)據(jù)),這篇文章介紹Pandas中的loc與iloc區(qū)別與用法,感興趣的朋友一起看看吧
    2024-01-01
  • Python中綁定與未綁定的類方法用法分析

    Python中綁定與未綁定的類方法用法分析

    這篇文章主要介紹了Python中綁定與未綁定的類方法用法,結(jié)合實例形式分析了未綁定的類方法與綁定的實例方法相關(guān)使用技巧,需要的朋友可以參考下
    2016-04-04
  • 實例講解Python爬取網(wǎng)頁數(shù)據(jù)

    實例講解Python爬取網(wǎng)頁數(shù)據(jù)

    這篇文章給大家通過實例講解了Python爬取網(wǎng)頁數(shù)據(jù)的步驟以及操作過程,有興趣的朋友跟著學(xué)習(xí)下吧。
    2018-07-07
  • 詳解Python中下劃線的5種含義

    詳解Python中下劃線的5種含義

    本文介紹了Python中單下劃線和雙下劃線的各種含義和命名約定,名稱修飾的工作原理,以及它如何影響你自己的Python類,感興趣的可以了解一下
    2021-07-07
  • python 的numpy庫中的mean()函數(shù)用法介紹

    python 的numpy庫中的mean()函數(shù)用法介紹

    這篇文章主要介紹了python 的numpy庫中的mean()函數(shù)用法介紹,具有很好對參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python獲取txt文件詞向量過程詳解

    python獲取txt文件詞向量過程詳解

    這篇文章主要介紹了python獲取txt文件詞向量過程詳解,如何讀取完整的大文件,而不會出現(xiàn)內(nèi)存不足memery error等問題,將讀取出來的文件,保存為npy文件,根據(jù)詞找到對應(yīng)的向量,需要的朋友可以參考下
    2019-07-07
  • Python技巧匿名函數(shù)、回調(diào)函數(shù)和高階函數(shù)

    Python技巧匿名函數(shù)、回調(diào)函數(shù)和高階函數(shù)

    本文分享的是Python技巧匿名函數(shù)、回調(diào)函數(shù)和高階函數(shù),我們在Python中使用lambda表達式來使用匿名函數(shù),回調(diào)函數(shù)即callback,先寫一個函數(shù),讓預(yù)先寫好的系統(tǒng)來調(diào)用,一個函數(shù)可以作為參數(shù)傳給另外一個函數(shù),或者一個函數(shù)的返回值為另外一個函數(shù),滿足其一則為高階函數(shù)
    2021-12-12
  • Python用函數(shù)思想完成哥德巴赫猜想代碼分析

    Python用函數(shù)思想完成哥德巴赫猜想代碼分析

    在本篇文章里小編給大家整理的是一篇關(guān)于Python用函數(shù)思想完成哥德巴赫猜想代碼分析,有興趣的朋友們可以參考下。
    2021-06-06
  • django使用定時任務(wù)django_apscheduler的實現(xiàn)

    django使用定時任務(wù)django_apscheduler的實現(xiàn)

    定時任務(wù)無論是個人開發(fā)還是企業(yè)業(yè)務(wù)都是需要的,本文主要介紹了django使用定時任務(wù)django_apscheduler的實現(xiàn),減少請求時需要用戶等待的時間,感興趣的可以了解一下
    2021-08-08

最新評論