download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Източване на сайт директно в база данни - scraping web site?

< 1 2 >

Автор
Съобщение
phrozencrew
Пет, 09.09.11, 20:38
Здрасти хора,

Тия дни ме занимава една техника scraping, използвана от някои хахори за пренасочване на активността от google. Мерак ми е да източа няколко популярни сайта, които излизат на първо място при търсене в търсачките и да им направя яко SEO-оптимизирани копия, за да мога след време да ги използвам за backlinks и повишаване на PR. Примерно да се изтегли цялото описание на уроци от някои сайтове или новинарски сайт.
Интересуват ме някои неща, които са деликатни. Дали закона може да ме спре да публикувам информацията от източените сайтове, при условие, че поставя линк към източника.
Другото, което ми е интересно е дали някой е ползвал подобна техника и готови шаблони, които да улесняват работата , като например Template::Extract за Perl или нещо по-класическо, като Xpath.
Тия дни мисля, да разпусна докато си търся и пробвам подобна информация и скриптове.
Ако си имате идея помагайте.

svilen73
Пет, 09.09.11, 20:58
Имам познат , който прави точно това но незнам дали ще сподели кода.
Знам че ползва PHP за целта но само толкова.Ще се опитам да го взема от него.
А за закона мисля че ако се докаже че си свалил каквото и да е си е наказуемо.
phrozencrew
Пет, 09.09.11, 22:09
Попрочетох за наказуемостта, но според закона, ако посочиш името на автора или източника, не нарушаваш правата за публикуване. Поне това разбрах.
Другото, което много ме изненада е, че PHP поддържа извличане на информация с Xpath, без да се панира при грешка в HTML... Super! А преди в една по стара версия направо се крашваше.
Мерси за идеята!
Намерих си и и култова добавка за пандата Firefox, с която да си тествам xpath изразите XPather. Леко пипната версия от мен, която си работи и в FF версия 6 - xpather_1.5.2030.xpi
kookki
Съб, 10.09.11, 01:39
Ако не бързаш, мога да разпитам препотавателката по предмета за защита на авторската право. Това мога да го направя като отида на очни след седмица и не гарантирам, че ще я открия, защото хонорари водят и преподаватели от други учебни заведения.
kookki
Пет, 16.09.11, 17:46
Недялко, проучих въпроса ти.
Ако източваш български сайт и използваш части от него като цитати, принципно няма да имаш ядове. За цитат на целия сайт, вече е спорен момент. Ако сайта е от друга държава, жената не може да знае какво се случва, но ми каза, че за щатите например, подобен цитат може да се прави само със знанието на автора.
За да нямаш ядове е добре да се свържеш със собствениците на сайтовете и да видиш какво е тяхното мнение и евентуално да направите някакво споразумение, за да си вържеш гащите.

Ако искаш разгледай и самия закон

редактиран от kookki на 16.09.11 17:50
anonymous
Пет, 16.09.11, 18:32
Не знам дали говорим за едно и също но ето един пример с д.бг... За пример ще взема тази новина Изпробвайте Windows 8 безплатно още сега ... пускаме я в гугал и ето резултата... Много сайтчета използват като за реклама новините на д.бг като реклама и гугал тях ги изкарва на първи позиции...
oldcastle
Пет, 16.09.11, 18:45
Мисля, че за новини не е толкова от значение. Друг е въпросът с по-сериозните авторски материали, като книги, статии, научни трудове и още от този род. А иначе новинарските сайтове се утрепват да копират новините си един от друг и всеки си слага името, като автор. Дори и не си правят труда да променят текста малко. Не можеш да разбереш от къде е тръгнала новината. От много време го наблюдавам това, както при регионални, така и при национални сайтове.
svilen73
Пет, 16.09.11, 18:59
Ако е направено по този начин не виждам защо не.
kookki
Пет, 16.09.11, 19:14
Ако източиш DBG и използваш статиите (достъпни срещу платен достъп) в друг сайт, едва ли ще се възприеме като : "Ми т'ва си е цитат, к'во толкова съм нарушил?
Въпросът е какво се източва и с каква цел ще се използва.

Едит: Дублирал съм без да искам поста на Oldcastle, но няма нищо.

редактиран от kookki на 16.09.11 19:15
редактиран от kookki на 16.09.11 19:16
phrozencrew
Вто, 20.09.11, 23:33
Благодаря много за инфото!
Българския закон за авторство е доста объркан. Дано се сетят скоро и за това, защото според мен, поне от това което прочетох, има огромни дупки и могат да се правят фантастични интерпретации, особено по отношение на цитирането и разпространението на електронен (софтуерен) продукт.

По отношение на механизма за сваляне на информация, вече се ориентирах добре какво използват майсторите. Основно се ползва Xpath и Xquery.
На мен повече ми харесва Xpath и си написах една много семпла конзолна програмка, която да мога да си ползвам под Window$ и Linux. Програмката изисква инсталиране на конзолния браузер lynx (или, ако сте под Win ей тая версия на браузера се поставя в директория на php скрипта: lynx_for_win.rar)
<?php
if ($argc != 3 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>
 
This is a XPath extractor.
  
  REQUIRES:
  "lynx" to be installed!
 
  USAGE:
  <?php echo $argv[0]; ?> <site> <xpath>
 
  EXAMPLE:
  <?php echo $argv[0]; ?> http://site.com/some_page.html "//a[contains(@href,\"?rec\") and not(contains(@href,\"comment\"))]/@href"
  --------------------
 
  With the --help, -help, -h,
  or -? options, you can get this help.
 
<?php
} else {
 
$site=$argv[1];
 
function get_cont($url){
$c = `lynx -source $url`;
return $c;
}
 
$html = get_cont($site);
 
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
 
$hrefs = $xpath->evaluate($argv[2]);
 
for ($i = 0; $i < $hrefs->length; $i++) {
	$bb = $hrefs->item($i)->nodeValue;
	print "$bb\n";
}
}
?>

За Window$, за да не го търся по-късно прилагам целия пакет с php-скрипта + lynx-браузера: Xpath_tool_php_lynx.rar
Използва се много простичко от промпта (или конзолата):
php get_content.php download.bg "//a/@href"

Това ще извлече всички линкове от началната страница на DBG. За повече инфо относно употребата на магиите с Xpath може да се погледне тази таблица с "тайни заклинания": http://www.cheat-sheets.org/saved-copy/Locators_table_1_0_2.pdf

---

И само за гъдел и за да си припомня любимия ми Chickenfoot написах и един скрипт, пак базиран на Xpath (но през JavaScript), който сваля всички рецепти от сайт за рецепти (vkusnotiiki.net) директно в 2 бази данни - категории и рецепти, които съхранява на D:\\dbcat.txt и D:\\dbrec.txt: vkusnotiiki.net.js
За да се ползва нормално бързо този скрипт за източване на инфото е добре да се спре зареждането на картинките от Firefox. Иначе за няколко минути си източва без проблеми целия сайт .

В по-горе посочения случай може да се използват и wget и curl, но страниците са архивирани в gzip и за да се прочете подобна страница през конзолата трябва да се използва разархивиране. Примерно:
wget -O - vkusnotiiki.net | gunzip -c

Ако някой иска да източим някой сайт с учебна цел, директно в MySQL или SQLite база данни, който би бил предизвикателство нека да свирка. Независимо дали с тези или други инструменти. Ако ми остане време за купон ще се включа !

< 1 2 >

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.