中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Python爬取網頁時請求中收到響應400的問題

發布時間:2021-08-10 12:35:54 來源:億速云 閱讀:298 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關如何解決Python爬取網頁時請求中收到響應400的問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一般情況下抓取網頁時找到url中可以從 post 請求中獲取數據,但得到的響應是400而不是 200時,可以嘗試從服務器獲得正確的響應,使用json=參數requests進行嘗試可以解決。

問題案例:

 import requests
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0',        'Accept': 'application/json',        'Accept-Language': 'en-US,en;q=0.5',        'Content-Type': 'application/x-www-form-urlencoded',        'Origin': 'https://www.ketto.org',        'Sec-Fetch-Dest': 'empty',        'Sec-Fetch-Mode': 'cors',        'Sec-Fetch-Site': 'cross-site',        'Referer': 'https://www.ketto.org/',        'Connection': 'keep-alive',
    }
    params = (
        ('x-algolia-agent', 'Algolia for JavaScript (3.35.1); Browser (lite); angular (8.2.14); angular-instantsearch (3.0.0-beta.4); instantsearch.js (3.7.0); JS Helper (2.28.1)'),
        ('x-algolia-application-id', 'NN2UORRIZX'),
        ('x-algolia-api-key', 'b2caa1b0589e8db9398d5fe2a40bbaed'),
    )
    data = [
      ('{requests:[{indexName:fundraiser_prod,params:query', ''),
      ('hitsPerPage', '9'),
      ('hitsPerPage', '1'),
      ('hitsPerPage', '1'),
      ('hitsPerPage', '1'),
      ('maxValuesPerFacet', '10'),
      ('maxValuesPerFacet', '10'),
      ('maxValuesPerFacet', '10'),
      ('maxValuesPerFacet', '10'),
      ('page', '1'),
      ('page', '0'),
      ('page', '0'),
      ('page', '0'),
      ('highlightPreTag', '__ais-highlight__'),
      ('highlightPreTag', '__ais-highlight__'),
      ('highlightPreTag', '__ais-highlight__'),
      ('highlightPreTag', '__ais-highlight__'),
      ('highlightPostTag', '__/ais-highlight__'),
      ('highlightPostTag', '__/ais-highlight__'),
      ('highlightPostTag', '__/ais-highlight__'),
      ('highlightPostTag', '__/ais-highlight__'),
      ('facets', '["cause.label","tags","address"]'),
      ('facets', '["cause.label"]'),
      ('facets', '["tags"]'),
      ('facets', '["address"]'),
      ('tagFilters', ''),
      ('tagFilters', ''),
      ('tagFilters', ''),
      ('tagFilters', ''),
      ('facetFilters', '[["cause.label:"],["tags:"],["address:"]]},{indexName:fundraiser_prod,params:query='),
      ('facetFilters', '[["tags:"],["address:"]]},{indexName:fundraiser_prod,params:query='),
      ('facetFilters', '[["cause.label:"],["address:"]]},{indexName:fundraiser_prod,params:query='),
      ('facetFilters', '[["cause.label:"],["tags:"]]}]}'),
      ('attributesToRetrieve', '[]'),
      ('attributesToRetrieve', '[]'),
      ('attributesToRetrieve', '[]'),
      ('attributesToHighlight', '[]'),
      ('attributesToHighlight', '[]'),
      ('attributesToHighlight', '[]'),
      ('attributesToSnippet', '[]'),
      ('attributesToSnippet', '[]'),
      ('attributesToSnippet', '[]'),
      ('analytics', 'false'),
      ('analytics', 'false'),
      ('analytics', 'false'),
      ('clickAnalytics', 'false'),
      ('clickAnalytics', 'false'),
      ('clickAnalytics', 'false'),
    ]
    response = requests.post('https://nn2uorrizx-dsn.algolia.net/1/indexes/*/queries', headers=headers, params=params, data=data)
    print(response)

代碼進行優化處理:

import requestsurl = "https://nn2uorrizx-dsn.algolia.net/1/indexes/*/queries"params = {
    "x-algolia-agent": "Algolia for JavaScript (3.35.1); Browser (lite); angular (8.2.14); angular-instantsearch (3.0.0-beta.4); instantsearch.js (3.7.0); JS Helper (2.28.1)",    "x-algolia-application-id": "NN2UORRIZX",    "x-algolia-api-key": "b2caa1b0589e8db9398d5fe2a40bbaed",}data = {
    "requests": [
        {
            "indexName": "fundraiser_prod",            "params": "query=&hitsPerPage=9&maxValuesPerFacet=10&page=0&highlightPreTag=__ais-highlight__&highlightPostTag=__%2Fais-highlight__&facets=%5B%22cause.label%22%2C%22tags%22%2C%22address%22%5D&tagFilters=&facetFilters=%5B%5B%22cause.label%3A%22%5D%2C%5B%22tags%3A%22%5D%2C%5B%22address%3A%22%5D%5D",
        },
        {
            "indexName": "fundraiser_prod",            "params": "query=&hitsPerPage=1&maxValuesPerFacet=10&page=0&highlightPreTag=__ais-highlight__&highlightPostTag=__%2Fais-highlight__&attributesToRetrieve=%5B%5D&attributesToHighlight=%5B%5D&attributesToSnippet=%5B%5D&tagFilters=&analytics=false&clickAnalytics=false&facets=%5B%22cause.label%22%5D&facetFilters=%5B%5B%22tags%3A%22%5D%2C%5B%22address%3A%22%5D%5D",
        },
        {
            "indexName": "fundraiser_prod",            "params": "query=&hitsPerPage=1&maxValuesPerFacet=10&page=0&highlightPreTag=__ais-highlight__&highlightPostTag=__%2Fais-highlight__&attributesToRetrieve=%5B%5D&attributesToHighlight=%5B%5D&attributesToSnippet=%5B%5D&tagFilters=&analytics=false&clickAnalytics=false&facets=%5B%22tags%22%5D&facetFilters=%5B%5B%22cause.label%3A%22%5D%2C%5B%22address%3A%22%5D%5D",
        },
        {
            "indexName": "fundraiser_prod",            "params": "query=&hitsPerPage=1&maxValuesPerFacet=10&page=0&highlightPreTag=__ais-highlight__&highlightPostTag=__%2Fais-highlight__&attributesToRetrieve=%5B%5D&attributesToHighlight=%5B%5D&attributesToSnippet=%5B%5D&tagFilters=&analytics=false&clickAnalytics=false&facets=%5B%22address%22%5D&facetFilters=%5B%5B%22cause.label%3A%22%5D%2C%5B%22tags%3A%22%5D%5D",
        },
    ]}data = requests.post(url, params=params, json=data).json()print(json.dumps(data, indent=4))

打印結果:

{
    "results": [
        {
            "hits": [
                {
                    "id": 180773,
                    "title": "Feeding From Far-Ration Distribution Amid Lockdown",
                    "end_date": "2021-09-11 23:59:59",
                    "amount_requested": 65000000,
                    "entity_details_id": 1505699,
                    "creator_entity_details_id": 1463388,
                    "address_1": "Mumbai",
                    "creation_date": "2020-04-05 15:10:12",
                    "parent_cause_id": 48,
                    "event_entity_details_id": 1399904,
                    "sucess_story_flag": 0,
                    "custom_tag": "FeedingFromFarForCorona",
                    "beneficiary": {
                        "full_name": "Prayatna "
                    },
                    "raised": {
                        "campaign_id": 180773,
                        "backers": 10616,
                        "raised": "45094771.40",
                        "usdraised": "644211.02",
                        "currencies": {
                            "INR": 45094771,
                            "USD": 644211,
                            "GBP": 501053,
                            "EUR": 536843,
                            "AED": 2254739,
                            "SGD": 867207,
                            "SAR": 2254739
                        }
                    },
                    "widget": {
                        "media_type": "image",
                        "file_name": "wid60a133a89542c.jpg",
                        "path": "/media/campaign/180000/180773/image/",
                        "cdn_path": "https://d1vdjc70h9nzd9.cloudfront.net/media/campaign/180000/180773/image/wid60a133a89542c.jpg"
                    },
                    "cause": {
                        "info_1": "Food & Hunger",
                        "info_3": "Orange",
                        "label": "Food & Hunger"
                    },
                    "campaigner": {
                        "id": 1463388,
                        "fname": "Pooja Reddy",
                        "lname": null,
                        "full_name": "Pooja Reddy ",
                        "disable_foreign_donation": 0,
                        "no_80g": false,
                        "user_details_id": 1470493,
                        "entity_type": "individual",
                        "tax_benefit": false,
                        "avtar": {
                            "entity_type_id": 1463388,
                            "entity_type": "individual",
                            "media_type": "image",
                            "file_name": "60efdb6db4758.jpg",
                            "path": "/media/individual/1463000/1463388/image/",
                            "cdn_path": "https://d1vdjc70h9nzd9.cloudfront.net/media/individual/1463000/1463388/image/60efdb6db4758.jpg"
                        }
                    },
                    "taxexempted": {
                        "id": 1505699,
                        "no_80g": true,
                        "entity_type": "ngo",
                        "tax_benefit": true
                    },... and so on.}

關于“如何解決Python爬取網頁時請求中收到響應400的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临夏县| 连山| 新兴县| 彩票| 桃园县| 麻栗坡县| 灵山县| 通许县| 项城市| 榆树市| 陵水| 浮山县| 河间市| 佛冈县| 和静县| 郁南县| 宁蒗| 辽阳县| 拉孜县| 新民市| 凤庆县| 邢台县| 迁西县| 苗栗县| 竹北市| 米林县| 定结县| 赫章县| 靖宇县| 仙游县| 凤山县| 高密市| 鲜城| 闵行区| 马边| 贵德县| 汝州市| 宜阳县| 泗阳县| 泊头市| 内乡县|