使用Python Beautifulsoup 进行网页抓取,但是无法获取值

2024-10-06 11:31:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用这个脚本从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

在网址.txt我使用了这两个url(https://www.sciencedirect.com/science/article/pii/009286749290520M,https://www.sciencedirect.com/science/article/pii/0092867495903682


Tags: infromimporttxturlforsysline
1条回答
网友
1楼 · 发布于 2024-10-06 11:31:28

如果BeautifulSoup未返回预期值,请参阅服务器的html响应。你知道吗

您的请求被阻止,因为它需要设置正确的用户代理。你知道吗

.....
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
    .....

相关问题 更多 >