从命令行访问带有凭据和Cookie的网页

时间:2018-03-21 12:49:12

标签: cookies command-line web-scraping wget

我正在尝试访问一个专有网站,该网站提供对大型数据库的访问。数据库非常庞大(数十亿条目)。数据库中的每个条目都是指向网页的链接,该网页本质上是一个包含我需要的信息的平面文件。 我有大约2000个来自数据库的条目及其在数据库中的相应网页。我有两个相关问题,我想解决这个问题:

  1. 如何获取wget(或任何其他类似程序)来读取cookie数据。我从谷歌浏览器下载了我的cookie(使用:https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en)但由于某种原因,wget下载的html仍然无法呈现为网页。同样,我无法从命令行获取Google Chrome来读取cookie。访问数据库需要这些cookie,因为它们包含我的凭据。
  2. 在我的上下文中,如果网页是以PDF格式下载的,那就没关系,但我似乎无法弄清楚如何使用wget或类似工具将网页下载为pdf。我尝试使用automate-save-page-ashttps://github.com/abiyani/automate-save-page-as),但我不断收到浏览器不在我的路径中的错误。

1 个答案:

答案 0 :(得分:1)

我解决了这两个问题:

问题1:我从wgetcurl和python的requests切换到简单地在python中使用selenium webdriver。使用selenium,我不必处理传递cookiesheaderspostget等问题,因为它实际上会打开浏览器。这也有一个好处,因为当我编写使用selenium的脚本时,我可以检查页面并查看它正在执行的操作。

问题2: Selenium有一个名为page_source的方法,它下载了网页的html。当我测试它时,它正确地渲染了html。