SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Малко помощ за пхп (ботче)

nullsoft

Active member
Започнах да правя едно ново сайтче, и за него си пиша един бот които ще свали малко снимки от интернет който ми трябват, но имам малко проблми.

започвам така
Код:
<?
$str=$_REQUEST['str'];
if (!empty($str)){
$html= @implode ('', file('http://www.album.bg/nqkoisi/?page='.$str.'')); 
preg_match_all('#<img src="(.+?)" width="#smi',$html,$nameri);
$nameri=$nameri[1];
$namericount=count($nameri)-1;
echo $namericount;

на echo $namericount ми дава

0Array

Не разбирам защо не намира снимките който са под <img src="

Малко помощ ще мие добре че ме боли глацата вече :). Писането на пхп немисе отдава много
 
Re: Малко помощ за пхп (ботче)

btw това също са валидни синтаксиси:
<img src=''
<img src=.....
<img ....properties.... src=.....
 
Re: Малко помощ за пхп (ботче)

направи един print_r($namericount); и виж какво има записано в този масив
 
Re: Малко помощ за пхп (ботче)

Защо не хванеш само 'src....' без излишни тагове
Имаш предвид излишни атрибути?
 
Re: Малко помощ за пхп (ботче)

Точно атрибути. Грешка на езика :)
едит:
Но така ще се хванат и всички <input type="image" src="..." />, които после трябва да се филтрират по някакъв начин.
 
Последно редактирано:
Re: Малко помощ за пхп (ботче)

Много е забавна тая тема ... вчера бях ангажиран и не ми остана време да посоча грешката.

Значи нека ти преведа какво вършиш...
-първо нацепваш страницата на думи(всъщност не го и правиш правилно)
-после проверяваш всяка дума дали е търсения израз
Съответно това никога няма да се случи, понеже вече си нацепил израза на думи.

Също начина по който го правиш е слабо надежден(с по галяма страница ще се издъни с file()) и неефективен(implode преди RegEx?!?)

Това което би трябвало да правиш е да отваряш страниците с fopen() и да четеш в буфер(всъщност опашка от такива), който да проверяваш с RegEx директно.

Ако все пак искаш да си поправиш твоя код махни implode() и пусни целия текст на preg_match_all() като след това трябва да си провериш всичките съвпадения от там направо. А да и ползвай нещо по читаво за regEx като например това което imagination е предложил.
 
Re: Малко помощ за пхп (ботче)

Значи пробвах с print_r($namericount); но не показва нищо различно.

Ако хвана само src както е казал другич колега ще хване и други работи койти неми трябват :)

nikoladd Пробвах със фопен но с него маи скалъпих нещо много по-неудачно
 
Последно редактирано:
Re: Малко помощ за пхп (ботче)

ето ти едно решение, само че написано на руби ;)

Код:
require 'rubygems'
require 'hpricot'
require 'open-uri'
 
doc = Hpricot(open("http://qwantz.com/"))
 
(doc/"img").each do |img|
  puts img.attributes['src']
end
 

Горе