纯python无头浏览器
activesoup的Python项目详细描述
一个用于从python与web交互的简单库
说明
activesoup结合了常见的python web功能,方便了 无头“浏览”功能:
- 使用requests支持现代http- 连接池,会话,…
- 方便地访问网页,界面灵感来自 beautifulsoup- 方便的HTML导航。
- 强大的HTML解析 html5lib-解析web 就像浏览器一样。
用例
考虑在以下情况下使用activesoup:
- 你已经看过了非常有才华的肯尼斯·雷茨的requests-html
- 您需要与来自python的一些web页面进行积极的交互(例如提交 表单,下载文件)
- 你不能控制你需要与之交互的站点(如果你控制了,只需创建一个 API)
- 你不需要javascript支持(你需要 selenium或 phantomjs)。
使用示例
登录网站,下载受访问保护的csv文件:
fromactivesoupimportdriverd=driver.Driver()login_page=d.get('https://my-site.com/login')login_form=login_page.formmember_portal=login_form.submit({'username':secret_store['username'],'password':secret_store['password']})ifmember_portal.response.status_codenotinrange(200,300):raiseRuntimeError("Couldn't log in")# Logged in nowcsv_report=d.get('/members_area/file.csv')csv_report.save_to('~/interesting_resport.csv')