Я пишу сценарий для получения информации о зданиях в Нью-Йорке. Я знаю, что мой код работает и возвращает то, что я бы хотел. Раньше я делал ручную запись, и это сработало. Теперь я пытаюсь, чтобы он читал адреса из текстового файла и получить доступ к веб-сайт с этой информацией, и я получаю эту ошибку:Ошибка HTTP 400: неверный запрос (urllib)
urllib.error.HTTPError: Ошибка HTTP 400: Bad Request
I полагают, что это имеет какое-то отношение к веб-сайту, не нравится много доступа от чего-то, что не является браузером. Я слышал что-то об User Agents, но не знаю, как их использовать. Вот мой код:
from bs4 import BeautifulSoup
import urllib.request
f = open("FILE PATH GOES HERE")
def getBuilding(link):
r = urllib.request.urlopen(link).read()
soup = BeautifulSoup(r, "html.parser")
print(soup.find("b",text="KEYWORDS IM SEARCHING FOR GO HERE:").find_next("td").text)
def main():
for line in f:
num, name = line.split(" ", 1)
newName = name.replace(" ", "+")
link = "LINK GOES HERE (constructed from num and newName variables)"
getBuilding(link)
f.close()
if __name__ == "__main__":
main()
Тот факт, что вы запустили код в изоляции, заставляет меня сомневаться, что сервер останавливает запрос на основе исключительно вашего User Agent. Скорее всего, это скорость, ограничивающая ваш клиент или ошибка в том, как вы построили свой запрос ... можете ли вы поместить реальный код для своей ссылки и образец строки из вашего файла? –
Я вернусь к вам с этим завтра утром! – Harrison