使用网站搜索框中的地址无法生成内容 url
Failed to produce content url using an address in a search box of a website
我正在尝试找出使用请求模块生成分数的任何方法 url 使用网站中的搜索关键字。例如,当我在这个 website, I get this score url.
的搜索栏中输入这个地址 820 HABGOOD ST City of White Rock
我在 chrome 开发工具中进行了很多研究,以找到使用请求模块产生相同分数 url 的任何方法,但我最终得到了以下结果。
import requests
link = 'https://www.walkscore.com/auth/search_suggest'
params = {
'query': '820 HABGOOD ST City of White Rock',
'skip_entities': '0'
}
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'
s.headers['X-Requested-With'] = 'XMLHttpRequest'
res = s.get(link,params=params)
print(res.json())
其中产生(没有子弹或分数 url):
{'query': '820 HABGOOD ST City of White Rock', 'suggestions': [], 'entities': True}
How can I produce score url using an address in the search box?
您错过了好的请求:
GET: https://www.walkscore.com/score/820-HABGOOD-ST-City-of-White-Rock
这只是您用破折号代替空格的请求。
该请求得到 301 MOVED PERMANENTLY
并将您发送到正确的位置
import requests
from bs4 import BeautifulSoup
link = 'https://www.walkscore.com/score/'
query='820 HABGOOD ST City of White Rock'
link+='-'.join(query.split())
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'
r = s.get(link)
soup=BeautifulSoup(r.text, 'lxml')
print(soup.select_one('#address-header > div > div.float-left-noncleared').text)
>>> 820 Habgood Street White Rock, British Columbia, V4B 4W3
我正在尝试找出使用请求模块生成分数的任何方法 url 使用网站中的搜索关键字。例如,当我在这个 website, I get this score url.
的搜索栏中输入这个地址820 HABGOOD ST City of White Rock
我在 chrome 开发工具中进行了很多研究,以找到使用请求模块产生相同分数 url 的任何方法,但我最终得到了以下结果。
import requests
link = 'https://www.walkscore.com/auth/search_suggest'
params = {
'query': '820 HABGOOD ST City of White Rock',
'skip_entities': '0'
}
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'
s.headers['X-Requested-With'] = 'XMLHttpRequest'
res = s.get(link,params=params)
print(res.json())
其中产生(没有子弹或分数 url):
{'query': '820 HABGOOD ST City of White Rock', 'suggestions': [], 'entities': True}
How can I produce score url using an address in the search box?
您错过了好的请求:
GET: https://www.walkscore.com/score/820-HABGOOD-ST-City-of-White-Rock
这只是您用破折号代替空格的请求。
该请求得到 301 MOVED PERMANENTLY
并将您发送到正确的位置
import requests
from bs4 import BeautifulSoup
link = 'https://www.walkscore.com/score/'
query='820 HABGOOD ST City of White Rock'
link+='-'.join(query.split())
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'
r = s.get(link)
soup=BeautifulSoup(r.text, 'lxml')
print(soup.select_one('#address-header > div > div.float-left-noncleared').text)
>>> 820 Habgood Street White Rock, British Columbia, V4B 4W3