Веб-слом Yell.com в Python - PullRequest
       18

Веб-слом Yell.com в Python

0 голосов
/ 10 января 2020

После прочтения LOT я попытался сделать первый шаг в поиске в сети на сайте yell с urllib и запросами , но я получаю то же самое в обоих случаях (404 не найдено ).

URL-адрес:

url = https://www.yell.com/

Что я пробовал:

  • пакет urllib
import urllib.request
f = urllib.request.urlopen(url)
print(f.read(100))

и

import urllib.request
opener = urllib.request.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open(url)
  • Пакет запросов
url = 'www.yell.com'
response = requests.get(url)

и

headers = {'Accept': 'text/html'}
response = requests.get(url, headers=headers)

Но я дошел до ошибки 404.

Ответы [ 2 ]

1 голос
/ 10 января 2020

Попробуйте это с помощью urllib

import urllib.request

url = 'https://www.yell.com/'
headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)' }
request = urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(request)

print(response.read())

Я бы посоветовал вам использовать запросы + beautifulsoup4 https://www.crummy.com/software/BeautifulSoup/bs4/doc/ это облегчит вашу жизнь в процессе очистки

0 голосов
/ 04 мая 2020

# Вы также можете использовать селен, чтобы избежать ошибок http в веб-драйвере импорта селена из bs4 import BeautifulSoup import urllib.request

main_url = 'https://www.yell.com/'
driver = webdriver.Chrome(r'write chromedriver path')
driver.get(main_url)
res = driver.execute_script("return document.documentElement.outerHTML")
soup = BeautifulSoup(res, 'html.parser')
headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)' }
request = urllib.request.Request(main_url, headers=headers)
response = urllib.request.urlopen(request)

print(response.read())
...