Невозможно получить содержимое страницы с помощью BeautifulSoup - PullRequest
0 голосов
/ 22 декабря 2018

Я изучаю BeautifulSoup и пытаюсь загрузить содержимое этой веб-страницы.Я пытаюсь захватить содержимое, углубляясь в HTML tags на inspect element.

Я использовал разные фрагменты кода для отображения и проверки, могу ли я успешно извлечь содержимое.

Следующие фрагменты кода дали хорошие результаты:

from bs4 import BeautifulSoup
import requests

root = 'https://www.quora.com/topic/Graduate-Record-Examination-GRE-1'
r = requests.get(root)

soup = BeautifulSoup(r.text,'html.parser')

#**The following worked yielded some results :**

#1
a = soup.find_all('div',{'class':'feed'})
print(a)

#2
b = soup.find_all('div',{'class':'ContentWrapper'})
print(b)

#3
c = soup.find_all('div',{'class':'ContentWrapper'})
print(c)

#4
d = soup.find_all('div',{'class':'feed'})
print(d)

#5
e = soup.find_all('div',{'class':'TopicFeed'})
print(e)

Но после такого глубокого изучения следующее ничего не дало:

f = soup.find_all('div',{'class':'paged_list_wrapper'})
print(f)

Он печатает: []

Содержимое / HTML-код внутри <div class='paged_list_wrapper'> не получаетсяраспечатаны.Почему?

1 Ответ

0 голосов
/ 22 декабря 2018

Сайт может быть настроен на отправку разных страниц в зависимости от User-Agent.Я столкнулся с той же проблемой, что и вы.Вернул пустой список.Добавление универсального пользовательского агента в заголовки решило это за меня.

from bs4 import BeautifulSoup
import requests
root = 'https://www.quora.com/topic/Graduate-Record-Examination-GRE-1'
headers = {'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.' }
r = requests.get(root,headers=headers)
soup = BeautifulSoup(r.text,'html.parser')
f = soup.findAll('div',{'class':'paged_list_wrapper'})
print(f)
...