Python запрос получить не получить полные данные - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь вычеркнуть 50 лучших альбомов десятилетия (2000-2009) из https://www.pastemagazine.com/blogs/lists/2009/11/the-best-albums-of-the-decade.html?a=1.

Я использую следующий код в Python:

from requests import get 
url = 'https://www.pastemagazine.com/blogs/lists/2009/11/the-best-albums-of-the-decade.html?a=2'
response = get(url) 
print(response.text)

При просмотре ответа информация для всех 50 лучших альбомов отсутствует в выходных данных. Когда я просматриваю исходный код страницы, я вижу эту информацию под <div class="grid-x article-wrapper">. Что мне нужно сделать, чтобы очистить эту часть веб-страницы?

1 Ответ

1 голос
/ 23 апреля 2019

Вам нужно определить заголовок, чтобы он больше походил на настоящий браузер.Должно работать следующее:

import requests
from bs4 import BeautifulSoup

url = 'https://www.pastemagazine.com/blogs/lists/2009/11/the-best-albums-of-the-decade.html?a=2'

res = requests.get(url,headers={"User-Agent":"Mozilla/5.0"}) 
soup = BeautifulSoup(res.text,"lxml")
for item in soup.select("b.big > b"):
    print(item.text)

Вывод:

50. Björk: Vespertine [Elektra] 2001
49. Libertines: Up The Bracket [Rough Trade] (2002)
48. Loretta Lynn: Van Lear Rose [Interscope] (2004)
47. Arctic Monkeys: Whatever People Say I Am, That’s What I’m Not [Domino] (2006)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...