【问题标题】:How to download instagram page automatically with wget如何使用 wget 自动下载 Instagram 页面
【发布时间】:2019-12-05 17:47:49
【问题描述】:

我想自动下载个人instagram页面,我想使用命令wget来下载整个页面,但是没有成功。

我设置了标题(浏览器使用的相同)和cookie(通过cookie.txt扩展名获取)所以整个命令行是:

wget -x -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" --load-cookies cookies.txt -r "https://instagram.com/username"

但结果是带有 instagram 徽标的白色页面。 你有别的想法吗?还有另一种方法可以实现这一目标吗? 我认为请求是正确的,也许 instagram 使用带有 javascript 或类似内容的动态请求,我遵循了一种不好的方式,但如果这是真的,当我在浏览器中打开页面时,这应该执行 javascript 代码。这是正确的吗?

【问题讨论】:

  • 我想应该是 ~/cookies.txt。顺便说一句,你可以使用 -U "Mozilla"。
  • 这可能会有所帮助:instagram.com/developer
  • 我尝试插入 coockie.txt 文件的路径,但结果相同。
  • 另一个问题,如果我通过命令行打开浏览器,然后将页面保存在文件中?所以我可以稍后检查页面。可能吗?浏览器可以将页面保存在永久内存中吗?
  • instagram api 不允许按用户搜索,只能按标签搜索。所以我需要找到另一种方法: - 通过命令行打开浏览器,然后保存并分析它。 - 尝试使用 wget 或类似的其他模式

标签: linux https automation instagram wget


【解决方案1】:

wget 不是网络浏览器。特别是它不理解 JavaScript,而且 Instagram 的用户页面大部分内容都是通过 JavaScript 生成的,所以这是你的第一个问题。

你的第二个问题是Instagram's bot policy禁止使用wget,而且可以想象他们有措施检测wget即使你改变了用户代理——有companies which specialize in that

【讨论】:

  • 我很好奇如何检测 wget 请求和普通浏览器之间的数据包差异。我想放弃这种方式。
  • 政策页面的链接没有 wget 字样,所以这可能已经过时了。
  • 在这种情况下,wget 属于User-agent: *
猜你喜欢
  • 1970-01-01
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
  • 1970-01-01
相关资源
最近更新 更多