lostyazilim
tr.link

Bot Yapımı Hakkında Soru

6 Mesajlar 1.352 Okunma
lstbozum
tr.link

Onur89TR Onur89TR Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 2376
  • Beğeniler 704 / 791
  • Ticaret 1, (%100)
Merhaba arkadaşlar.

http://www.erdinckoc.com.tr/php-ile-wordpress-bot-yapimi-dom-tarzi.html

Erdinç Koç isimli arkadaşımız dom tarzı bot yapımıyla ilgili güzel bir makale paylaşmış. PHP Sorunu sitesinden çekiliyor veriler. simple_html_dom.php dosyasını da botun bulunduğu klasöre attım. Fakat kendi siteme uyarlamak istediğimde zaman aşımı uyarısı alıyorum. Acaba nerede hata yapıyorum? Kendisi WP bot paylaşımını ve desteğini bıraktığını açıklamış sitesinde. Yardımlarınız için şimdiden teşekkürler.

Kodlar:

include 'simple_html_dom.php'; // gerekli class include edildi.
error_reporting(1);

$html = file_get_html('http://www.onurunwebsitesi.com/'); // html verisi çekilecek adres

foreach($html->find('ul[id^="Haberler_Icerik"] li div[class^="Sag"] a') as $e){
// yukarıda her bir post class ı olan div in içinde
// h2 tagını arıyoruz ve bunun içindeki 'a' linkin href (yani referans adresini alıyoruz)

$link = $e->href; //linkimizi bulduk

$ic_sayfa = file_get_html($link); //botumuzu oraya gonderiyoruz

foreach ($ic_sayfa->find('div[id^="Yazi_Tekil"]') as $ic) {
//içerik yani konu sayfamızda gene post class lı dıvı buluyoruz
//buldugumuz divin içindeki h1 tagının içindeki veri bizim başlığımız oluyor ve bunu başlık


$baslik = $ic ->find ('div[class^="YaziBaslik"] div[class^="YaziBaslikIc"]',0) -> plaintext;
$konular[]['baslik'] = $baslik; // konular dizimize (array) baslık olarak kayıt ediyoruz
$icerik = '';

// wordpresste ki br yerine p tagını kullandığı için (BU TAGLAR ÇEKECEĞİMİZ VERİ TÜRÜNE GÖRE DEĞİŞİR) aşağıda p taglarının içeriğini almamız gerekiyor her p tagı için döngümüzü yazıyoruz
foreach ($ic -> find('p') as $icerikp){
if ($icerikp -> hasAttribute('class')){
// bize postmeta data gibi class ı p tagları gerekmediği için gerekli kontrolleri yapıyoruz
}
else {
$icerik.= $icerikp->outertext; }
// classsız p taglarının outertext ile

içindeki yazı

çeklinde içerik değişkenimize kayıt ediyoruz.

}
//bütün p taglarımızı alıncayda konular dizimizin icine icerik bolumune atiyoruz.
$konular[]['icerik'] = $icerik;

}
}


// sira geldi ekranda gostertmesi veya istediginiz işlemin yapılmasına.

foreach ($konular as $konu ){

echo '
';
echo '

'.$konu['baslik'].'

';
echo '
'.$konu['icerik'].'
';
echo '
';
}
?>
 

 

wmaraci
reklam

Graph Graph Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 08.02.2013
  • Yaş/Cinsiyet 36 / E
  • Meslek Webtasarım
  • Konum Tekirdağ
  • Ad Soyad ** **
  • Mesajlar 116
  • Beğeniler 18 / 34
  • Ticaret 7, (%86)
Set_time_limit(30) bununla alakalı olmalı sunucu sahibi ile iletisime geçmelisin
Onur89TR

kişi bu mesajı beğendi.

Onur89TR Onur89TR Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 2376
  • Beğeniler 704 / 791
  • Ticaret 1, (%100)

Graph adlı üyeden alıntı

Set_time_limit(30) bununla alakalı olmalı sunucu sahibi ile iletisime geçmelisin

Sunucu localhost. :) WampServer kullanıyorum. Bu sorgunun 30 saniyeyi geçmesi normal mi sizce? Erdinç Koç'un verdiği kodda birkaç saniyede işlem tamamlanıyor.
 

 

Graph Graph Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 08.02.2013
  • Yaş/Cinsiyet 36 / E
  • Meslek Webtasarım
  • Konum Tekirdağ
  • Ad Soyad ** **
  • Mesajlar 116
  • Beğeniler 18 / 34
  • Ticaret 7, (%86)
localhost'ta normaldir bazı denemelerimde bende karşılaştım bazen localda yavaş çalışabiliyor
ama dom ne şekilde çalışıyor pek bilşgim yok curl tercihimdir.
Onur89TR

kişi bu mesajı beğendi.

wmaraci
wmaraci

Onur89TR Onur89TR Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 2376
  • Beğeniler 704 / 791
  • Ticaret 1, (%100)

Graph adlı üyeden alıntı

localhost'ta normaldir bazı denemelerimde bende karşılaştım bazen localda yavaş çalışabiliyor
ama dom ne şekilde çalışıyor pek bilşgim yok curl tercihimdir.

Teşekkürler ilginize. Peki önerebileceğiniz PHP bot yapımı ve WP'ye bot entegresi dersi var mı? Diğer arkadaşlardan da bu konuda öneri bekliyorum.
 

 

Graph Graph Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 08.02.2013
  • Yaş/Cinsiyet 36 / E
  • Meslek Webtasarım
  • Konum Tekirdağ
  • Ad Soyad ** **
  • Mesajlar 116
  • Beğeniler 18 / 34
  • Ticaret 7, (%86)
php bot yapımı dersi heryerde var ancak wp entegre dersini görmedim.

bu kodlar sana yardımcı olacaktır wordpress entegresi php scripte göre daha kolay.

$my_post = array();
$my_post['post_title'] = $baslik;
$my_post['post_content'] = $aciklama;
$my_post['tags_input'] = $etiket;
$my_post['post_status'] = $yayin;
$my_post['post_author'] = 1;
$my_post['post_category'] = array($kategori);


if ($idxx=wp_insert_post($my_post)) {
for($i=0; $i $resim = trim($resimler[$i]);
wp_resim_ekle($resim,$idxx,md5(rand().time().microtime().rand()).".jpg");
}
die('ok');
}
Onur89TR

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al