【发布时间】:2017-12-06 06:24:54
【问题描述】:
我正在做一个项目,基本上需要我去一个网站,选择一种搜索模式(姓名,年份,数字等),搜索一个名字,在结果中选择具有特定类型的那些(过滤换句话说),选择保存这些结果而不是通过电子邮件发送的选项,选择一种格式来保存它们,然后通过单击保存按钮下载它们。
我的问题是,有没有办法使用 Python 程序来完成这些步骤?我只知道提取数据和下载页面/图像,但我想知道是否有一种方法可以编写一个脚本来操作数据,并执行一个人手动执行的操作,仅用于大量迭代。
我考虑过查看 URL 结构,并找到一种方法为每次迭代生成准确的 URL,但即使这样可行,我仍然会因为“保存”按钮而卡住,因为我可以'找不到会自动下载我想要的数据的链接,并且使用 urllib2 库的功能会下载页面而不是我想要的实际文件。
关于如何解决这个问题的任何想法?任何参考/教程都会非常有帮助,谢谢!
编辑:当我检查保存按钮时,我得到的是: Search Button
【问题讨论】:
-
他们提供 API 吗?如果是,请使用它。如果没有,那么您的网络报废方法似乎很好。我建议使用 Python 的
requests模块。 -
使用 Python
requests和 Beautiful Soup crummy.com/software/BeautifulSoup -
我推荐 selenium webdriver
-
如果保存按钮是表单的一部分,那么您必须发送带有相应参数的 GET/POST 请求
-
@code_byter 这是国会图书馆,所以如果我没记错的话,他们应该提供一个 API。问题是,我没有太多使用 API 和请求的经验,特别是如果我要做的不仅仅是检索数据。我需要脚本根据类型选择内容以进行过滤,通过单击“保存”按钮而不是“取消”按钮来选择操作。 API、请求、Beautiful Soup 或 Selenium 是否允许我以这种方式操作和在网站上工作,或者它们是否受到限制?
标签: python api url web-scraping beautifulsoup