Я делаю сайт комиксов, построенный на платформе WordPress для старого друга в его бизнесе. Я хотел бы иметь возможность иметь скрипт, который идет на различные сайты издателей и извлекает данные. Я новичок в программировании, я читал много разных альтернатив и просто не знаю, с чего начать. Во-первых, было бы законно вытаскивать этот контент с этих сайтов? Во-вторых, вот пример того, что я хотел бы сделать.
Страница отображает то, что выходит за месяц. Скопируйте все ссылки с
эта страница в соответствующем div, который ведет к комиксу
подробности. Сохраните каждую гиперссылку как $ comiclink или как угодно. Сценарий будет
выполнять каждую гиперссылку за раз.
Перейдите по гиперссылке на $ comiclink и удалите содержимое со страницы.
на то, что в некоторых DIV на этой странице. Пример:
Копирование и сохранение определенной гиперссылки div и сохранение в $ seriesinfo
Скопируйте и сохраните определенный div $ relatedinfo, а затем разбейте его.
- изображений в $ relatedinfo к $ relatedimages
- содержимое в $ relatedinfo к $ relatedcontent
- ссылки в $ relatedinfo на $ relatedlink. $ relatedlink отключится и перезапустит сам этот процесс с 1.
Теперь, когда все разбито на части и сохранено в свои маленькие кусочки. Я хочу, чтобы WordPress автоматически создал пост, а затем начал назначать всю эту информацию в пост. Работаю примерно так.
- Проверьте существующий пост с таким же $ title, если он не существует, поместите $ title в заголовок для post и page-name. Если он существует, прервите сценарий и переходите к следующему.
- Удалите цифры и буквенные символы из $ title и проверьте наличие категории, если она не существует; создать его и назначить для публикации. Если он существует, назначает категорию для сообщения.
- Проверить существующую категорию со значением $ format, если существует, назначить для публикации, если нет, создать и назначить категорию для публикации.
- загрузить изображения, которые были загружены из $ image в этот пост.
- Проверьте наличие изображений, которые содержат слово «обложка», и назначьте их избранными.
Кроме того, как все это тоже выполняется. Я не хочу, чтобы это работало 24/7 - просто раз в неделю я хотел бы, чтобы это выполнялось само по себе и автоматически переходило на соответствующие веб-сайты, очищало содержимое и создавало страницы.
Я не прошу вас, ребята, выписать всю эту чертову вещь для меня; хотя я определенно не буду возражать против этого! Просто помогите указать мне правильные направления, чтобы все началось. За прошедший день я прочитал около 30+ статей по извлечению контента, и из того, что я могу сказать, есть так много вариантов, что я просто не знаю, с чего начать и как заставить шар двигаться в правильном направлении с этим.
Обновленный код
Примечания: Итак, мне удалось успешно скопировать содержимое и пути для каждого блока и вместо того, чтобы загружать изображения, просто отображая их с текущего местоположения. Следующим шагом является автоматизация процесса создания записи в WordPress, в которую будут выгружаться данные.
function scraping_comic()
{
// create HTML DOM
$html = file_get_html('http://page-on-site-to-scrape.com');
// get block to scrape
foreach($html->find('li.browse_result') as $article)
{
// get title from block
$item['title'] = trim($article->find('h4', 0)->find('span',0)->plaintext);
// get title url from block
$item['title_url'] = trim($article->find('h4', 0)->find('a.grid-hidden',0)->href);
// get image from block
$item['image_url'] = trim($article->find('img.main_thumb',0)->src);
// get details from block
$item['details'] = trim($article->find('p.browse_result_description_release', 0)->plaintext);
// get sale info from block
$item['on_sale'] = trim($article->find('.browse_comics_release_dates', 0)->plaintext);
$ret[] = $item;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// ===== The Code ====
$ret = scraping_comic();
if ( ! empty($ret))
{
// place main url for instance when hyperlinks and image srcs don't use the full path.
$scrape = 'http://site-to-scrape.com';
foreach($ret as $v)
{
echo '<p><a href="'.$scrape.$v['title_url'].'">'.$v['title'].'</a></p>';
echo '<p><img src="'.$v['image_url'].'"></p>';
echo '<p>'.$v['details'].'</p>';
echo '<p> '.$v['on_sale'].'</p>';
}
}
else { echo 'Could not scrape page!'; }
?>