在使用cookies和很少的POST/GET请求时我无法得到正确的答案

问题描述 投票:0回答:1

我正在尝试解析该网站 - https://rentcar.gr/en/booking/cars 正如我在开发人员面板中所理解的,我必须首先设置一个帖子,然后获取请求以获取所需的页面,但我认为 cookie 遇到了问题

这是此请求的开发人员面板的屏幕(发布 -> 获取)

我的代码首先是一个获取令牌的获取页面并获取cookie,然后使用此数据进行POST请求并保存cookie,然后使用此cookie进行获取请求但查看它时得到错误的内容,在我看来这就是代码网站主页

from requests import Session
from bs4 import BeautifulSoup

api_url = "https://rentcar.gr/en/booking/cars"

work = Session()

req = work.get(api_url)

soup = BeautifulSoup(req.content, "html.parser")
token = soup.find('form').find('input').get('value')

data = {
    '_token': token,
    'pickUpLocation': '8',
    'pickUpDate': '22-02-2024',
    'pickUpTime': '10:00',
    'dropOffLocation': '6',
    'dropOffDate': '29-02-2024',
    'dropOffTime': '10:00',
    'driverAge': '25',
    'carID': '0',
    'minPickUpDate': '22-02-2024',
    'minDropOffDate': '22-02-2024',
}
req = work.post(api_url, cookies=req.cookies, data=data)
    
soup = BeautifulSoup(
    work.get(api_url, cookies=req.cookies).content, "html.parser"
)

for h3 in soup.select("h3.carname"):
    print(f'{h3.text:<60}')
python html parsing beautifulsoup python-requests
1个回答
0
投票

第二个 Api 为您提供 HTML 格式的响应。

soup = BeautifulSoup(
    work.get(api_url, cookies=req.cookies).content, "html.parser"
)
for h3 in soup.find_all('h3'):
    print(h3.text)

© www.soinside.com 2019 - 2024. All rights reserved.