Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Помогите вытащить из этого сайта только ссылки (http://forum.oszone.net/showthread.php?t=265426)

Dr. Comp 01-08-2013 21:28 2194781

Помогите вытащить из этого сайта только ссылки
 
Привет! Хочу заблокировать все запрещенные ресурсы отсюда http://antizapret.info/ но там мешат даты и айпи адреса, помогите пожалуйста. Нужно чтобы был только список ссылок в виде столбца (.тхт) без ничего лишнего для вставки в конфигурационный файл.

Iska 02-08-2013 01:10 2194905

Dr. Comp, легко — API. PowerShell:
Код:

([System.Xml.XmlDocument]((New-Object System.Net.WebClient).DownloadString("http://api.antizapret.info/all.php?type=xml"))).register.content | ForEach-Object -Process {$_.domain.'#cdata-section'} | Set-Content -Path "E:\Песочница\0306\Domain list.txt"
Вместо выделенного можете сразу добавить команды для вставки извлечённых строк в Ваш «конфигурационный файл».

pva 02-08-2013 08:01 2194975

Я делал так:

1. закачиваешь страницу index.html
Код:

wget -c http://antizapret.info/
2. Запускаешь скрипт cscript get_links.js <index.html следующего содержания:
Код:

var page = WScript.StdIn.ReadAll();

var
//        prefix = "..\\gnu\\wget -c адрес ", // <-- команда для каждой ссылки. Я делал закачку
        prefix ="",
        re_link = /href\s*=\s*[\"\']([^\"\']+)[\"\']/gi,
//        re_ext = /\.mp3$/i, // <--- дополнительный фильтр на ссылки, я искал *.mp3
        re_ext =//,
        load_list = {}

for(;;) {
        var found = re_link.exec(page);
        if (found==null) break;

        if (re_ext.exec(found[1])) {
                load_list[found[1]] = true;               
        }       
}

for(var i in load_list) {
        WScript.StdOut.WriteLine(prefix + i);
}

Говорят к браузерам есть плагины, которые делают то же самое, но с мышкотыкательным интерфейсом

torauma 02-08-2013 08:29 2194984

Если со скриптами возиться нехочется:
Читаем http://antizapret.info/api.php
Цитата:

Получение текущего содержания реестра:
URL: http://api.antizapret.info/all.php
HTTP метод: GET
Параметры: type - необязательный, по умолчанию равен "csv", возвращает текущее содержимое реестра в формате CSV, также может принимать значение json - выводит содержимое реестра в формате JSON, xml - выводит содержимое реестра в формате XML.
Заходим на http://api.antizapret.info/all.php и сохраняем как текстовый файл с расширением csv. Остается только открыть в Excel'е и в пару кликов выдернуть список адресов.

Dr. Comp 02-08-2013 08:50 2194995

http://api.antizapret.info/all.php на этой странице прям за все время сайты? Чет мало.

torauma 02-08-2013 09:25 2195003

Вроде бы что на сайте, то и там. Кроме удаленных из реестра.

Dr. Comp 02-08-2013 09:30 2195004

Еще есть такая проблема, кирилические aдреса неправильно отображаются в exel.

Iska 02-08-2013 10:02 2195025

Код:

$sXmlDocument = New-Object System.Xml.XmlDocument

$sXmlDocument.load("http://api.antizapret.info/all.php?type=xml")
$sXmlDocument.register.content | ForEach-Object -Process {$_.url.'#cdata-section'} | Set-Content -Path "E:\Песочница\0306\Domain list.txt"

Dr. Comp, зачем Вам адреса? Вам же имена доменов нужны.

torauma 02-08-2013 10:31 2195033

Кириллические адреса это вроде
Цитата:

c*******b.biz/threads/%D0%9A%D1%83%D1%80%D0%B5%D1%85%D0%B0-%D0%B8-%D0%BF%D0%BE%D1%80%D0%BE%D1%85-%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D1%8F%D1%80%D1%81%D0%BA-%D0%B7%D0%B0%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0%D0%BC%D0%B8.2031/
?
Дак вроде правильно все. Как на сайте так и в файле.
Чем именно Вы их блокировать собираетесь. Вполне возможно, что прокси такую запись поймут, а firewall'ы, насколько я помню, позволяют только по IP блокировать. Или у вас оборудование DPI поддерживает? Ростелеком, например, заявил, что у них денег на DPI нет и блокируют по IP.

Iska 02-08-2013 11:57 2195089

Цитата:

Цитата torauma
Кириллические адреса это вроде… »

Цитата:

Код:

http://swimpool.biz/forum/forums/Предложения-о-покупке.8/

и т.п.

torauma 02-08-2013 14:02 2195190

Iska, фактически дублируете мое предположение. Но хотелось бы узнать, что Dr. Comp подразумевает под кириллическими адресами и некорректностью их отображения в Excel. Возможно, что он не знает про http://www.w3.org/International/O-URL-code.html и принял это за некорректное отображение.
P.S. Я бы рекомендовал частично скрывать ссылки при цитировании из реестра, а то чего доброго добавят в него OSzone.net за распространение ссылок на запрещенную информацию.


Время: 19:44.

Время: 19:44.
© OSzone.net 2001-