gpt4 book ai didi

python - 网站能否知道请求是通过 "requests"python 库发出的?

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:07 33 4
gpt4 key购买 nike

我一直在尝试获取 CVS 商店的坐标。当我输入应该转到新泽西州位置的 URL 时,它总是将我重定向到费城中心。我尝试删除我的 cookie,认为这会有所作为,但事实并非如此。

这是脚本:

import requests 
from bs4 import BeautifulSoup
import json
import csv
from requests.exceptions import InvalidURL, MissingSchema
import re

urlx = "http://www.cvs.com/store-locator/cvs-pharmacy-address/557+South+Atlantic+Avenue-Aberdeen-NJ-07747/storeid=2511"
rx = requests.get(urlx)
soupx = BeautifulSoup(rx.content)
lat = soupx.find(attrs={'id':'toLatitude'})['value']
long = soupx.find(attrs={'id':'toLongitude'})['value']
print lat, long

存在未使用的库,因为这本质上是较大脚本的片段,但这是脚本中无法正常运行的部分。 requests.get(urlx) 函数似乎不是从新泽西州阿伯丁的 url 中提取的,而是从费城的某个网站提取的,有什么想法为什么会发生这种情况吗?

最佳答案

当您第一次输入链接时,它会将您最喜欢的商店设置为您附近的商店。所有后续请求都将转到相关的实际商店,因为已保存 favorite_store cookie。您可以通过添加 cookie 来模拟这一点根据您的要求。这还不够,因为它们似乎阻止了“异常”user-agent 值,因此您需要设置适当的 user-agent .

编辑:经过一些测试后,似乎仅设置 cookies={'favorite_store':'store'} 无法正常工作,因此我将发送第一个请求然后从中获取 cookie,因为它应该设置了 favorite_store 。我已针对此更改更新了下面的代码。

您应该能够像这样设置favorite_storeuser-agent:

import requests 
from bs4 import BeautifulSoup
from requests.exceptions import InvalidURL, MissingSchema
import re

urlx = "http://www.cvs.com/store-locator/cvs-pharmacy-address/557+South+Atlantic+Avenue-Aberdeen-NJ-07747/storeid=2511"
cookies = requests.get(urlx).cookies
rx = requests.get(urlx, cookies=cookies, headers={'user-agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'})

soupx = BeautifulSoup(rx.content)
lat = soupx.find(attrs={'id':'toLatitude'})['value']
long = soupx.find(attrs={'id':'toLongitude'})['value']
street_address = ", ".join([soupx.find(attrs={'itemprop':'streetAddress'}).text,soupx.find(attrs={'itemprop':'addressLocality'}).text, soupx.find(attrs={'itemprop':'addressRegion'}).text ])
print lat, long, street_address

关于python - 网站能否知道请求是通过 "requests"python 库发出的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37192541/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com