相关疑难解决方法(0)

用于Python的无头浏览器(需要Javascript支持!)

我需要一个相当容易使用的无头浏览器(我仍然是相当新的Python和一般的编程),这将允许我导航到一个页面,登录到需要Javascript的表单,然后通过以下方式刮擦生成的网页搜索符合特定条件的结果,单击复选框,然后单击以下载文件.所有这些都需要Javascript.

我听到无头浏览器是我想要的 - 需求/偏好是我能够从Python运行它,并且最好是生成的脚本可以通过py2exe编译(我正在为其他用户编写这个程序).

到目前为止风车看起来很像我想要的,但我不确定.

任何想法赞赏!

javascript python screen-scraping headless-browser

52
推荐指数
4
解决办法
4万
查看次数

如何让请求“get”遵循所有重定向

我正在编写一个脚本来找出大量缩短的 URL 导致的完整 URL。我使用 requests 模块来跟踪重定向并获取在浏览器中输入 URL 时最终会到达的 URL。这适用于几乎所有链接缩短程序,但由于我无法弄清楚的原因,对于 disq.us 形式的 URL 失败(即,对于 disq.us URL,我得到与我输入的相同的 url,而当我在浏览器中输入它时,我得到重定向)

下面的代码片段可以正确解析 bit.ly 缩短的链接,但会因 disq.us 链接而失败。我使用 Python 3.6.4 和 requests 模块的 2.18.4 版本运行它。SO 不允许我在问题中包含缩短的 URL,因此我将把它们留在评论中。

import requests

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36'

url1 = "SOME BITLY URL"
url2 = "SOME DISQ.US URL"

for url in [url1, url2]:
    s = requests.Session()
    s.headers['User-Agent'] = user_agent
    r = s.get(url, allow_redirects=True, timeout=10)
    print(r.url)
Run Code Online (Sandbox Code Playgroud)

python web-scraping python-3.x python-requests

4
推荐指数
1
解决办法
6997
查看次数