通过网站搜索特定的URL链接?

通过网站搜索特定的URL链接?,url,Url,输入网站的URL并接收该网站上链接了给定URL的每个URL最简单的语言或方法是什么。例如,如果我想知道我的网站上有多少次链接到一个叫做oranges的页面,我会使用它 我将为该计划提供信息”http://www.mysite.com“以及我要搜索的URL”http://www.mysite.com/oranges“我会运行这个程序。作为回报,我将得到一个文本文件或其他文件,其中包含指向“”的链接的所有URLhttp://www.mysite.com/oranges“ 输入可能是: http://

输入网站的URL并接收该网站上链接了给定URL的每个URL最简单的语言或方法是什么。例如,如果我想知道我的网站上有多少次链接到一个叫做oranges的页面,我会使用它

我将为该计划提供信息”http://www.mysite.com“以及我要搜索的URL”http://www.mysite.com/oranges“我会运行这个程序。作为回报,我将得到一个文本文件或其他文件,其中包含指向“”的链接的所有URLhttp://www.mysite.com/oranges“

输入可能是:

http://www.mysite.com/index.html
http://www.mysite.com/broccoli.html
http://www.mysite.com/asparagus.html
http://www.mysite.com/fruits.html
http://www.mysite.com/blog/post/my_favorite_fruits.html
http://www.mysite.com http://www.mysite.com/oranges

输出可能是:

http://www.mysite.com/index.html
http://www.mysite.com/broccoli.html
http://www.mysite.com/asparagus.html
http://www.mysite.com/fruits.html
http://www.mysite.com/blog/post/my_favorite_fruits.html
到目前为止,我已经尝试了我个人最喜欢的程序:批处理,并提出了以下失败的程序:

FOR /F %%A in (input.txt) DO (
    curl -o temp.html %%A 
    FOR /F "tokens=1,2 delims=:" %%B in ('FINDSTR /I /R "http://.*" temp.html') DO (
    ECHO %%B >> input.txt
        FOR /F %%C in (temp.html) DO (
            FINDSTR /X "http://.*" %%C >> output.txt
  )         
 )
)
exit
如前所述,它实际上不起作用

有什么想法吗?这不是家庭作业,这是一个工作项目,这让我发疯


提前感谢你们的帮助。如果我需要更具体的信息,请告诉我

据我所知,您可能能做的最好的事情就是使用一种算法,获取该url的index.html并在html中搜索链接和可能的站点地图(基本上是创建您自己的站点地图)。不能保证你会找到所有的东西,因为大多数开发人员隐藏的东西都是有原因的。您可能会创建一个递归方法来完成上面提到的工作

试试刮痧。它是一个python框架,可以帮助从起始URL抓取html内容并将其删除

它还递归地抓取已抓取的链接,并有最好的算法来避免复制已抓取的URL。
该文档易于理解,并创建了一个简单的程序。

我对您所说的实现感到困惑。算法如何?成批?C++?python谢谢你的回答!你是在问如何编程吗?在这种情况下,乔恩的回答基本上是正确的。(它可以用几乎所有语言编码,包括C++、Python、Delphi、java、C等)。如果你正在寻找一个现有程序来扫描你的网站,并告诉你从哪里链接到给定的URL,你可以试试诸如“XEU”、“A1网站分析器”之类的工具。正如Tom所指出的,有很多工具可以让你获得最好的结果。一种可行的方法是让搜索引擎为你做这件事。你可以去google/bing/yahoo,使用他们的site:tag搜索每个站点。例如,输入Google(site:)NO PARENS并添加相应的http://和www。这将为您提供Google为该站点找到的所有页面。您可能可以编写一些东西,只需为您提供的站点URL刮取所有搜索结果URL。