如何訪問此 API:
import requests
url = 'https://b2c-api-premiumlabel-production.azurewebsites.net/api/b2c/page/menu?id_loja=2691'
print(requests.get(url))
我正在嘗試通過 API 從該站點檢索資料,我找到了上面的 url,我可以看到它的資料,但是我似乎無法正確處理,因為我遇到了代碼 403。這是網站 url: https://www.nagumo.com.br/osasco-lj46-osasco-ayrosa-rua-avestruz/departamentos
我正在嘗試檢索專案類別,它們對我可見,但我無法獲取它們。稍后我將使用這些類別來迭代產品 API。
API 類別
Obs:請溫柔,這是我在這里的第一篇文章=]
uj5u.com熱心網友回復:
要獲取影像中顯示的資料,需要以下標頭和端點:
import requests
headers = {
'sm-token': '{"IdLoja":2691,"IdRede":884}',
'User-Agent': 'Mozilla/5.0',
'Referer': 'https://www.nagumo.com.br/osasco-lj46-osasco-ayrosa-rua-avestruz/departamentos',
}
params = {
'id_loja': '2691',
}
r = requests.get('https://www.nagumo.com.br/api/b2c/page/menu', params=params, headers=headers)
r.json()
uj5u.com熱心網友回復:
不確定您的問題到底是什么。如果您想查看回應的內容而不僅僅是 200/400 回應。您需要在列印中添加“.content”。
例如。
#Create Session
s = requests.Session()
#Example Connection Variables, probably not required for your use case.
setCookieUrl = 'https://www...'
HeadersJson = {'Accept-Language':'en-us'}
bodyJson = {"__type":"xxx","applicationName":"xxx","userID":"User01","password":"password2021"}
#Get Request
p = s.get(otherUrl, json=otherBodyJson, headers=otherHeadersJson)
print(p) #Print response (200 etc)
#print(p.headers)
#print(p.content) #Print the content of the response.
#print(s.cookies)
uj5u.com熱心網友回復:
我也是新來的哈哈,但是除了這個請求庫之外,你還需要另一個庫,比如漂亮的湯來完成你想做的事情。
bs4安裝:https:https: //www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup
一旦你安裝并匯入它,它只是繼續你正在做的事情來積極獲取你的資料。
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
這將獲取頁面的整個 HTML 內容,因此,您可以根據他們的 css 選擇器從該頁面獲取資料,如下所示:
site_data = soup.select('selector')
site_data 是一個帶有“選擇器”的東西的陣列,所以一個簡單的 for 回圈和一個用于添加專案的陣列就足夠了(例如,獲取書店網站上每本書的鏈接)
例如,如果我試圖從一個站點獲取鏈接:
import requests
from bs4 import BeautifulSoup
sites = []
URL = 'https://b2c-api-premiumlabel-production.azurewebsites.net/api/b2c/page/menu?id_loja=2691'
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
links = soup.select("a") # list of all items with this selector
for link in links:
sites.append(link)
此外,一個有用的提示是當您檢查頁面時(右鍵單擊并在底部按“檢查”),您可以看到該頁面的代碼。轉到 HTML 并找到所需的資料并右鍵單擊它并選擇復制 -> 復制選擇器。這將使您很容易在該站點上獲得所需的資料。
有用的網站: https ://oxylabs.io/blog/python-web-scraping https://realpython.com/beautiful-soup-web-scraper-python/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/491616.html
