Парсинг веб-страницы с помощью BeautifulSoup

Я пытаюсь очистить этот сайт: 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-код правильной веб-страницы.

Я не уверен, куда идти дальше! Любая помощь будет оценена.

2 ответа

Решение

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

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

Ошибка 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)
Другие вопросы по тегам