我重新编辑了我的问题,以便更好地解释我的问题
我正在尝试从 ORCID 数据库(科学文章和作者的数据库)中获取一个人的姓名和姓氏。
我使用requests_html
和.render()
访问网址:
“https://orcid.org/orcid-search/search?searchQuery=0000-0001-9077-1041”并从中获取 html 代码。Html 被解析并存储在_text
列表中。(如果您访问该 url,您会看到它包含 ORCID db 的搜索结果,ID 为“0000-0001-9077-1041”-名称:“Andreas”和姓氏:“Leimbach”以及一些其他数据)。
我想从该页面的 html 代码中检索姓名和姓氏文本。但是,当我多次运行该程序时,有时姓名和姓氏会出现在输出结果中,有时则不会。我希望程序总是检索相同的数据。
我使用以下 Python 脚本:
from requests_html import HTMLSession
from bs4 import BeautifulSoup
def GetCredentialsFromORCID(_id):
base_url = "https://orcid.org/orcid-search/search?searchQuery=" + _id
session = HTMLSession()
response = session.get(base_url)
response.html.render()
soup = BeautifulSoup(response.html.html, 'lxml')
_text = soup.get_text().strip().split()
print("This is whet we got:\n", _text)
GetCredentialsFromORCID("0000-0001-9077-1041")
(尝试运行此代码几次(5 - 10 次以上)并亲自查看)。
我只能假设这可能与此页面使用 JavaScript 的事实有关,因为我不断收到:
Please enable JavaScript to continue using this application.
在控制台中,但我对此了解不多。
任何人都可以帮助我吗?