从网站获取子URL

时间:2018-04-03 00:29:05

标签: python web-scraping scrapy web-crawler

我想知道是否可以列出网站的网址。这些URL是托管zip文件的URL,如果您正确提供它们,将下载文件。如果没有,您将被引导至404页面。

例如,如果主网站为https://myexample.net/,我对https://myexample.net/wp-content/uploads/2018/04/[do not have a pattern].zip下的文件感兴趣。我尝试访问https://myexample.net/wp-content/uploads/2018/04/,但获得了404 error

此外,我检查了https://myexample.net/sitemap_index.xml,但没有找到我感兴趣的网址。所以问题是如何guess这些网址...感谢任何建议!

2 个答案:

答案 0 :(得分:1)

您是否尝试使用sitemap generator

还有一个python库:https://pypi.python.org/pypi/sitemap-generator/0.5.2

如果您不想编码,还有浏览器插件可以执行此操作,例如" u选择iDownload"适用于Chrome的工具。

答案 1 :(得分:1)

  

我想知道是否可以从网站列出网址?

现在,如果您正在谈论特定网站或任何通用网站。

我已经使用Scrapy进行了大量的刮擦。以下是我的经历

  1. 许多网站根本不使用网站地图
  2. 使用站点地图的网站有一个很久以前更新的旧网站地图
  3. 生成的最新网站地图只有有限的网址,而不是所有的网址
  4. 总而言之,站点地图可以很好地生成种子网址列表,但它们由网站管理员控制,他们可能会或可能会更新站点地图。因此,如果您真的想要一个网址列表,则需要使用抓取功能。如果您不想使用相同的代码,那么您可以查看以下线程中讨论的几种方法

    Spider a Website and Return URLs Only

    如果你想进行编码我会建议你看一下Scrapy

    Scrapy crawl all sitemap links

    Using Scrapy to parse sitemaps