чистка веб-страниц с использованием Python Beautifulsoup, но не получить значение - PullRequest
0 голосов
/ 07 декабря 2018

Я использую этот сценарий для очистки информации об авторе из статей sciencedirect, но я не получаю ничего при попытке напечатать значение.

import requests
from bs4 import BeautifulSoup
from urllib import urlopen
import csv
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

with open('urls.txt') as inf:
    urls = (line.strip() for line in inf)
    for url in urls:
        site = urlopen(url)   
        soup = BeautifulSoup(site, "lxml")
        for item in soup.find_all("div", {"class": "AuthorGroups"}):
            final = item.text,url
            print final

В urls.txt я использовал эти 2 URL-адреса (https://www.sciencedirect.com/science/article/pii/009286749290520M,https://www.sciencedirect.com/science/article/pii/0092867495903682)

1 Ответ

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

, если BeautifulSoup не вернул ожидаемое значение, см. Html-ответ сервера.

Ваш запрос заблокирован, так как для него нужно правильно настроить user-agent.

.....
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0'}
for url in urls:
    print url
    site = requests.get(url, headers=headers).text
    .....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...