python - 使用 lxml.html 抓取 Scopus
问题描述
我正在尝试使用 lxml.html 对 Scopus 进行网络抓取(最终创建文档标题列表),但似乎没有从 page.content 存储数据;结果列表(tr_elements)最终为空。
import requests
import lxml.html as lh
url = 'https://www.scopus.com/results/citedbyresults.uri?sort=plf-f&cite=2-s2.0-84939544008&src=s&nlo=&nlr=&nls=&imp=t&sid=fdbfeac69ab848bdff16425dc6937ffc&sot=cite&sdt=a&sl=0&origin=resultslist&offset=1&txGid=b63ddae0b71deb5a4615640f49db9904'
page = requests.get(url)
doc = lh.fromstring(page.content)
tr_elements = doc.xpath('//tr')
由于检查元素显示行具有不同的类(https://i.stack.imgur.com/6QUvw.png),我还尝试通过tr_elements = doc.xpath("//tr[contains(@class, 'searchArea')]")
指定要解析的行来运行它,但这也以空列表结束. 有任何想法吗?
解决方案
我想到了。访问被拒绝 | www.scopus.com使用 Cloudflare 限制访问
推荐阅读
- python-3.x - Python:有没有办法使用纬度和经度坐标在 GeoDataFrame 地图上叠加 matplot 彩色地图?
- python - 如何通过 pandas 数据框并仅保留在整行中具有相同值的行?
- r - 为具有两列以上的数据框创建本体
- c# - C# 版本 8 .. 运算符的优先级是什么?
- amazon-web-services - 我应该如何在 Jenkinsfile 中引用这个命令来正确解释变量?
- reactjs - 在没有 useEffect 警告的情况下传达组件的初始状态
- python - 如何从 Outlook 获取 .msg,从中解析文本并使用 Python 将其输入到 Web 表单中?
- android - 在 Android 应用程序中使用 Gmail API
- javascript - 如何渲染从 REDUX 接收到的值
- php - PHP:如何通过反射或其他方式从子类获取父抽象类私有属性