用于页面抓取的基于 Javascript 的 Web 登录

标签 javascript python selenium mechanize

我正在尝试为 sbrodds.com 编写一个抓取引擎。不幸的是我需要登录才能获取正确的数据。我研究了 mechanize 和 selenium,但遗憾的是我对 python 和网络抓取很差,并且不了解如何使用它们。

以下是登录框的 Chrome 检查元素页面的屏幕截图: Chrome Inspect Results

有人可以提供关于我应该使用什么技术在 Python 代码中登录此网站的建议吗?目标是最终将登录页面的数据加载到 BeautifulSoup 中。

最佳答案

通常只需要请求就足够了......为什么你需要基于 javascript ?

import requests
r = requests.Session()
r.post("http://sbrodds.com/login",{"username":"bob","password":"sagat"})

content = r.get("http://sbrodds.com/some_page").text

至少是这样的......(你可能还需要一个 csrf_token 或其他东西)

关于用于页面抓取的基于 Javascript 的 Web 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34191303/

相关文章:

java - 对于没有名称的弹出窗口,弹出窗口名称为 ="window"的 waitForPopUp 方法的奇怪行为?

javascript - 如何启动我的线上和线下事件

javascript - IE中ajax隐藏div问题

javascript - 如何在 Selenium 中执行 JavaScript 并获取数据?

java - org.openqa.selenium.WebDriverException : chrome not reachable

google-chrome - 设置特定的 chrome 驱动程序设置/选项

javaScript 对象不保留 php 给出的关键命​​令

Javascript从表单单选选项列表或文本字段(无论使用哪个)中获取选定的值,并输出到文本?

python - 如何删除 python 中 R-T-L 字符串的最后一个字符?

python - Beautifulsoup 不显示所有 html 元素