Парсинг веб-страницы с помощью BeautifulSoup - PullRequest
1 голос
/ 29 мая 2020

Я пытаюсь очистить этот сайт: https://www.senate.gov/general/contact_information/senators_cfm.cfm

Мой код:

import requests
from bs4 import BeautifulSoup

URL = 'https://www.senate.gov/general/contact_information/senators_cfm.cfm'
page = requests.get(URL)

soup = BeautifulSoup(page.content, 'html.parser')

print(soup)

Проблема в том, что он фактически не переходит на сайт. HTML, которое я получаю в своей суповой var, совсем не то, что HTML на правильной веб-странице.

Я не знаю, куда go отсюда! Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Это сработало для меня

headers = {
        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
    }
r = requests.get(URL,headers=headers)

Нашел информацию здесь - https://towardsdatascience.com/5-strategies-to-write-unblock-able-web-scrapers-in-python-5e40c147bdaf

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

DUPLICATE HTTP 503 Ошибка при использовании python модуля запросов

попробуйте это:

import requests
from bs4 import BeautifulSoup

URL = 'https://www.senate.gov/general/contact_information/senators_cfm.cfm'

page = requests.post(URL, headers=headers)

soup = BeautifulSoup(page.content, 'html.parser')
print(soup)
...