PDA

View Full Version : مشکل در بدست آوردن شماره موبایل از سورس Html



بیتا حکمت
جمعه 16 مرداد 1394, 01:21 صبح
133990

سلام ، من یک خزنده طراحی کردم که فقط یک مساله ای برای اتمامش مونده و اونم اینکه سایت دیوار شماره ها رو به صورتی که در عکس می بننید نماش می ده ،یعنی اول
باید رو نمایش کامل کلیک بشه تا شماره نشون داده بشه و ...

یا راهی برای استخراج شماره هست ؟

لینک نمونه : http://tehran.divar.ir/v/%D8%AD%D8%AA%D9%85%D8%A7-%D8%A8%D8%AE%D9%88%D8%A7%D9%86%DB%8C%D8%AF%D8%A2%D 8%B1%D8%A7%D9%85-%D9%BE%D8%B2-%D8%AA%D9%88%D8%B3%D8%AA%D8%B1-%D8%AC%D8%A7%D8%B1%D9%88%D8%B4%D8%A7%D8%B1%DA%98%D B%8C-%D9%BE%D9%84%D9%88%D9%BE%D8%B2%D8%B7%D8%A7%D9%88%D 9%88%D8%B3/Nm-qrzXt7/

ژیار رحیمی
جمعه 16 مرداد 1394, 01:53 صبح
سلام لینک (نمایش کامل) یه تابع جاوا اسکریپت هست شما وقتی که سورس رو داری کافیه نام تابع رو فراخوانی کنی بعد مقدار رو از tagبخونی
(نام تابع جاوا اسکریپت onclick="showContactInfo()")

us1234
جمعه 16 مرداد 1394, 11:17 صبح
سلام لینک (نمایش کامل) یه تابع جاوا اسکریپت هست شما وقتی که سورس رو داری کافیه نام تابع رو فراخوانی کنی بعد مقدار رو از tagبخونی
(نام تابع جاوا اسکریپت onclick="showContactInfo()")

اگر خزنده شما قابلیت اجرا جاوا اسکریپت دارد این کار را بکنید و گرنه این تابع خودش داره اطلاعات را به صورت Ajax از سایت دریافت میکنه و باید با php شبیه سازی اش کنید ...

ژیار رحیمی
جمعه 16 مرداد 1394, 13:10 عصر
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function sayHello() { alert('hello') }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("sayHello");

us1234
جمعه 16 مرداد 1394, 16:19 عصر
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function sayHello() { alert('hello') }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("sayHello");


CURL های شما قابلیت اجرای جاوا اسکریپت دارد ؟

مثلا من صفحه را به این شکل گرفتم :


$url = 'http://tehran.divar.ir/v/%D8%AD%D8%AA%D9%85%D8%A7-%D8%A8%D8%AE%D9%88%D8%A7%D9%86%DB%8C%D8%AF%D8%A2%D 8%B1%D8%A7%D9%85-%D9%BE%D8%B2-%D8%AA%D9%88%D8%B3%D8%AA%D8%B1-%D8%AC%D8%A7%D8%B1%D9%88%D8%B4%D8%A7%D8%B1%DA%98%D B%8C-%D9%BE%D9%84%D9%88%D9%BE%D8%B2%D8%B7%D8%A7%D9%88%D 9%88%D8%B3/Nm-qrzXt7/';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
$res = curl_exec($ch);
curl_close($ch);


و صفحه در متغییر $res است ، حالا بگید چطور جاوا اسکریپت در PHP اجرا کنم و بتونم نتیجه اون تابع showContactInfo را پیدا کنم ؟

راه داره ولی روش این چیزی نیست که شما دارید با مرورگر خودتون تست می کنید و اینجا گفتید ...

بیتا حکمت
شنبه 17 مرداد 1394, 10:16 صبح
CURL های شما قابلیت اجرای جاوا اسکریپت دارد ؟

مثلا من صفحه را به این شکل گرفتم :


$url = 'http://tehran.divar.ir/v/%D8%AD%D8%AA%D9%85%D8%A7-%D8%A8%D8%AE%D9%88%D8%A7%D9%86%DB%8C%D8%AF%D8%A2%D 8%B1%D8%A7%D9%85-%D9%BE%D8%B2-%D8%AA%D9%88%D8%B3%D8%AA%D8%B1-%D8%AC%D8%A7%D8%B1%D9%88%D8%B4%D8%A7%D8%B1%DA%98%D B%8C-%D9%BE%D9%84%D9%88%D9%BE%D8%B2%D8%B7%D8%A7%D9%88%D 9%88%D8%B3/Nm-qrzXt7/';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
$res = curl_exec($ch);
curl_close($ch);


و صفحه در متغییر $res است ، حالا بگید چطور جاوا اسکریپت در PHP اجرا کنم و بتونم نتیجه اون تابع showContactInfo را پیدا کنم ؟

راه داره ولی روش این چیزی نیست که شما دارید با مرورگر خودتون تست می کنید و اینجا گفتید ...


سلام ممنون از وقتی که گذاشتین ، راستش در اصل من این سوال رو برای یک پروژه ویندوزی میخوام اما چون برنامه نویس های Php تجربه بیشتری تو این زمنیه دارن تو این تالار مطرح کردم که
الگوریتم و روش کار رو بدونم . راهنمایی جناب @zagroti هم در راستای همون برنامه ویندوزی بود . ( با وجودی اینکه دوستان تو این تاپیک کلی راهنمایی کردن اما به این نتیجه رسیدم کارم اشتباه بوده ، باید تو تالار سی شارپ می پرسیدم )
__


برای اینکه پستم اسپم نباشه ، حالا اگر تو Php میخواستیم چنین کاری انجام بدیم راهش چی بود ؟!

us1234
شنبه 17 مرداد 1394, 15:43 عصر
سلام ممنون از وقتی که گذاشتین ، راستش در اصل من این سوال رو برای یک پروژه ویندوزی میخوام اما چون برنامه نویس های Php تجربه بیشتری تو این زمنیه دارن تو این تالار مطرح کردم که
الگوریتم و روش کار رو بدونم . راهنمایی جناب @zagroti هم در راستای همون برنامه ویندوزی بود . ( با وجودی اینکه دوستان تو این تاپیک کلی راهنمایی کردن اما به این نتیجه رسیدم کارم اشتباه بوده ، باید تو تالار سی شارپ می پرسیدم )
__


برای اینکه پستم اسپم نباشه ، حالا اگر تو Php میخواستیم چنین کاری انجام بدیم راهش چی بود ؟!


2 تا راه داره
اول اینکه بتوانید داخل php کدهای جاوا اسکریپت را Run کنید .
برای این کار باید به سرور دسترسی داشته باشید و بتوانید پکیج نصب کنید .
باید کتابخانه V8Js روی سرور نصب کنید و بعد به سادگی داخل php :



$javaScriptCode = ' alert("hi");';
$v8 = new V8Js();
var_dump($v8->executeString($javaScriptCode));


ولی راه بالا مشکلات خودش را خواهد داشت که مهمترینش همان نصب پکیج روی سرور است و مشکلات دیگه مثل فایلهای جاوا اسکریپت که به صورت اکسترنال هستند و ...

راه دوم
کل عملیات که فایلهای جاوا اسکریت در حال انجام هستند را کامل آنلیز کنید و بعد به صورت PHP باز نویسی کنید .

مثلا تابع showContactInfo یکسری پارامتر خاص را به یک لینک به صورت Ajax پست میکند و بعد جواب را دریافت میکند که همان شماره کامل است ...

هر 2 راه از هم دیگه سختر است و بخاطر همینه که پروژه های ربات اینقدر ارزشمند است ...