Парсинг веб-страницы с помощью 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)