Поиск через веб-сайт по конкретной ссылке URL? - PullRequest
0 голосов
/ 08 марта 2012

Какой самый простой язык или метод для ввода URL-адреса веб-сайта и получения каждого URL-адреса на этом веб-сайте, для которого данный URL-адрес связан.Например, я бы использовал его, если бы хотел увидеть, сколько раз на моем веб-сайте была ссылка на страницу под названием «Апельсины».

Я бы вводил в программу «http://www.mysite.com" и URL-адрес, который я хотелпоиск "http://www.mysite.com/oranges", и я бы запустить программу.В ответ я получу текстовый файл или какой-нибудь другой файл со всеми URL-адресами, которые содержат ссылки на «http://www.mysite.com/oranges".

. Входные данные могут быть:

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

До сих пор я пробовал свой личный фаворит: Batch, и придумал следующую неудачную программу:

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

Как уже говорилось, неэто действительно работает.

Есть идеи? Это не домашнее задание, это рабочий проект, и это сводит меня с ума!

Заранее благодарю всех за помощь.Дайте мне знать, если мне нужно быть более конкретным о чем-либо!

Ответы [ 2 ]

1 голос
/ 11 сентября 2014

Попробуйте Scrapy http://scrapy.org/. Это среда Python, которая помогает сканировать html-контент из стартовых URL-адресов и очищать их.

Он также рекурсивно сканирует очищенные ссылки и имеет лучшие алгоритмы, чтобы не дублировать просканированные URL-адреса,Документ легко проследить и создать простую программу.

1 голос
/ 08 марта 2012

Насколько мне известно, лучшее, что вы можете сделать, - это алгоритм, который захватывает index.html этого URL и ищет в HTML ссылки и возможную карту сайта (в основном, создавая вашу собственную карту сайта). Нет гарантии, что вы найдете все, потому что у большинства разработчиков есть вещи, скрытые по какой-то причине (не связанные и т. Д.). Возможно, вы могли бы создать рекурсивный метод, чтобы сделать то, о чем я говорил выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...