用于抓取/抓取网站网址的软件

时间:2016-04-20 12:29:05

标签: web-scraping web-crawler

我想刮/抓(不知道哪个是最好的翻译)网站网址。例如,我想从每个网址获取: www.Site.com/posts.html包含www.Site.com/2015-04-01/1

所以我会输入软件www.Site.com并将深度设置为2并且需要网址www.Site.com/2015-04-01/1

所以......软件应该:

1)转到:www.Site.com/posts.html

2)找到匹配的网址:让我们说:

a)www.Site.com/2015-04-01/1/Working-Stuff.html

b)www.Site.com/2015-04-01/1/New-stuff.html

c)www.Site.com/2015-04-01/1/News.html

现在它转到第一个匹配的网址(a)并查找包含www.Site.com/2015-04-01/1的其他网址。

所以例如它看起来像这样:

Main site: `www.Site.com/posts.html`


    1)www.Site.com/2015-04-01/1/Working-Stuff.html
        1a) www.Site.com/2015-04-01/1/Break.htm
        1b) www.Site.com/2015-04-01/1/How-to.htm
        1c) www.Site.com/2015-04-01/1/Lets-say.htm
        1d) www.Site.com/2015-04-01/1/Gamer-life.htm

    2) www.Site.com/2015-04-01/1/New-stuff.html
        2a) www.Site.com/2015-04-01/1/My-Story-about.htm

    3) www.Site.com/2015-04-01/1/News.html
        3a) www.Site.com/2015-04-01/1/Go-to-hell.htm
        3b) www.Site.com/2015-04-01/1/Leave.htm

当然我不需要预先分组1),2),2a)等。我只想抓住网址。

我用过: A1网站刮刀 - 但是当我试图从......html抓取时,它会削减.html部分并且没有给我完整的网址列表:/

1 个答案:

答案 0 :(得分:0)

[编辑了我之前稍微简单的回答]

屏幕抓取是从网页中删除数据的过程。 R包 rvest 非常擅长屏幕抓取。

网络抓取是遍历网页从一个页面移动到另一个页面的过程。 R包 rselenium 非常擅长模仿用户在页面之间的移动,但只有当您知道网站的结构时才会这样。

您听起来像是要从页面到页面进行爬行,从头页开始并向前移动。我认为您可以使用rvestrselenium包的组合对其进行编码。在这两者之间,您可以自定义并采用任何特定的未知路径。