gpt4 book ai didi

python - 抓取由搜索/身份验证生成的页面

转载 作者:行者123 更新时间:2023-12-04 08:31:54 27 4
gpt4 key购买 nike

溢出物,
我目前正在从事一个无意的网络抓取项目,如果我能看到某些(公共(public))赠款产生了多少/哪些出版物,那将会很有用。如果我要手动执行此操作,我将访问此 query page ,输入授权号(如链接图像中所示),然后登陆此results page ,在左上角有我想要的数字——我可以通过路径 #hitCount\.top 获得.我遇到的问题是我认为没有任何可自动化的 GET我可以在这里使用的方法。例如,对于授权 ID 1206221结果页面的网址是:
http://apps.webofknowledge.com.proxy.library.stonybrook.edu/Search.do?product=WOS&SID=6FdNHV29fpcZSoXHZyz&search_mode=GeneralSearch&prID=b73e71a3-ddcd-443f-ab9b-282955dc3028
(注意:亲爱的读者,此 URL 不适合您。我将其包括在内以用于诊断/说明目的。)
我的第一个问题是,是否有可能拥有一个授权 ID 向量并自动检索出版物?如果是,那么 R 或 Python 包会帮助我吗?
谢谢你的智慧!

最佳答案

您可以通过 python 使用 Selenium 打开查询页面,找到并关注搜索框,使用 send_keys 输入一些输入(在您的情况下为授权 ID),然后使用 click() 单击搜索按钮(或以其他方式触发HTML 表单的 SUBMIT Action 使用 submit())。然后,Selenium 会以与普通浏览器相同的方式将您带到结果页面,即使 GET 请求参数是以某种方式动态生成的,无论是使用 JavaScript,服务器端的 session 变量和 cookie ID 号等。您最终会在 page_source 变量中获得结果页面的 HTML,您可以使用正则表达式或 BeautifulSoup 来抓取它(如果结果页面恰好是由 JavaScript 等动态生成的,您可以再次使用 Selenium在生成的页面中找到您想要的内容)。
页面中的元素,如搜索框,可以使用多种识别方法来挑选——如果它在 HTML 中具有唯一的“名称”或“ID”属性,这通常是最简单的(否则,请尝试 XPATH 查询或 CSS 选择器)。由于您只发布了页面的屏幕截图,因此我们无法查看源代码来确切说明什么会起作用。
如果您想破解代码并发布代码片段,人们可以对其发表评论。同时,这里有一些关于这种通用技术的教程,几乎可以肯定它们可以用于抓取您的网站。如果您还没有它,您将需要使用 selenium 和 webdriver(例如 Chromedriver)设置 python。这可以使用 GUI 运行(屏幕上会弹出一个浏览器窗口,您会看到 Python 正在填写表单),也可以 headless 运行(隐藏)。
https://www.scrapingbee.com/blog/selenium-python/
https://www.tutorialspoint.com/what-are-the-ways-of-submitting-a-form-in-selenium-with-python

关于python - 抓取由搜索/身份验证生成的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64977150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com