簡體   English   中英

為什么請求在特定 URL 上不起作用?

[英]Why Request doesn't work on a specific URL?

我有一個問題:Python 中的請求模塊。

到目前為止,我一直在使用它來刮擦,並且效果很好。

但是,當我針對某個特定網站(下面的代碼 - 並參考 Jupyter Notebook 快照)執行此操作時,它只是不想完成任務(永遠顯示 [*])。

from bs4 import BeautifulSoup
import requests
import pandas as pd
import json

page = requests.get('https://www.stoneisland.com/ca/stone-island-shadow-project/coats-jackets', verify = False)

soup = BeautifulSoup(page.content, 'html.parser')

一些用戶還建議使用如下標題來加快速度,但它對我也不起作用:

url = 'https://www.stoneisland.com/ca/stone-island-shadow-project/coats-jackets'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3'}

req = requests.get(url = url, headers = headers)

不確定發生了什么(這對我來說是第一次)但我可能會遺漏一些明顯的東西。 如果有人可以解釋為什么這不起作用? 或者如果它在你的機器上工作,請告訴我!

奇怪的請求

該頁面會在您第一次訪問時嘗試添​​加 cookie。 通過使用請求模塊而不定義 cookie,您將無法連接到該頁面。

我已經修改了您的腳本以包含我的 cookie,它應該可以工作 - 如果沒有,請將您的 cookie(對於此主機域)從瀏覽器復制到腳本。

url = 'https://www.stoneisland.com/ca/stone-island-shadow-project/coats-jackets'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3'}

cookies = {
    'TS01e58ec0': '01a1c9e334eb0b8b191d36d0da302b2bca8927a0ffd2565884aff3ce69db2486850b7fb8e283001c711cc882a8d1f749838ff59d3d'
}

req = requests.get(url = url, headers = headers, cookies=cookies)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM