Попробуйте сканировать адрес главной страницы Google для любого места или ресторана, но не повезло - PullRequest
1 голос
/ 19 апреля 2019

Пытался сканировать адреса ресторанов с информационной панели главной страницы Google, но получал «urllib.error.HTTPError: Ошибка HTTP 403: запрещено» ошибка и программа не запускаются. Я новичок в изучении Python, пожалуйста, помогите.

    import urllib.request, urllib.parse, urllib.error
    from bs4 import BeautifulSoup
    import ssl
    import json
    import re
    import sys
    import warnings

    if not sys.warnoptions:
        warnings.simplefilter("ignore")

   #get google URL.
    url = "https://www.google.com/search?q=barbeque%20nation%20-%20noida"
    request = urllib.request.Request(url)
    response = urllib.request.urlopen(request)

    page = fromstring(response)

    soup = BeautifulSoup(page, 'url.parser')

    the_page = soup.prettify("utf-8")
    hotel_json = {}

    for line in soup.find_all('script',attrs={"type" : 
    "application/ld+json"}):
        details = line.text.strip()
        details = json.loads(details)

        hotel_json["address"]["LrzXr"]=details["address"]["streetAddress"]

        break
    with open(hotel_json["name"]+".html", "wb") as file:
        file.write(html)

    with open(hotel_json["name"]+".json", 'w') as outfile:
        json.dump(hotel_json, outfile, indent=4)   

1 Ответ

0 голосов
/ 19 апреля 2019

Добавить заголовок пользовательского агента

request = urllib.request.Request(url, headers = {'User-Agent' : 'Mozilla/5.0'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...