انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: rahmani در 13 خرداد 1392، 04:00 ب‌ظ

عنوان: واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: rahmani در 13 خرداد 1392، 04:00 ب‌ظ
سلام

فرض كنيد يك فايل html داريم حال ميخواهيم محتويات برخي تگ هاي خاص را با استفاده از php ذخيره كنيم اين كار براي فايل xml راحت است اما براي فايل html چه توابعي در php موجود است؟

خيلي ممنون
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: vandu در 13 خرداد 1392، 04:05 ب‌ظ
چیزی که برای من جواب داده این هست: PHP Simple HTML DOM Parser (http://simplehtmldom.sourceforge.net/)
در بخش Quick Start بشکل کاملا خلاصه و مفید راهنمایی کرده.
موفق باشید...
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: rahmani در 13 خرداد 1392، 04:20 ب‌ظ
سلام

اين اون قسمتي هست كه ميخوام تابع توش بگرده مثلا ميخوام بدونم انتشارات يا publisher  اين ژورنال چي هست چطور بپرسم؟

<p class='heading2'>Marine Environmental Research

   Mar Environ Res</p>
   <p>Published/Hosted by <a href='http://www.elsevier.com' class='link' target='_'>Elsevier Science[/url].
   ISSN: 0141-1136.</p>
   <p>Marine Environmental Research publishes
خيلي ممنون لطف كرديد
ببخشيد كه اين را سوال را مي پرسم خيلي عجله دارم بايد امروز برنامه را تحويل مي دادم

فرض كنيد يك صفحه html حاوي وي‍ژگي هاي يك ‍ژورنال مانند عنوان ،موضوع، شناسه و... هست من يك تابع ميخوام كه ويژگي هاي مورد نظرم را از تو صفحه پيدا كند و به من بازگرداند

چون فعلا تو خونه اينترنت ندارم تا در صورت بروز مشكل ازتون بپرسم به ناچار ازتون سوال مي كنم اين تابع كار من را انجام ميدهد؟
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: vandu در 13 خرداد 1392، 04:27 ب‌ظ
بله راه میندازه. فقط شما باید بتونید سورس صفحه رو تحلیل کنید که دقیقا داخل چه تگی و دقیقا با چه فرمتی ویژگی‌ها قید شده. و البته اگر این قضیه برای تمامی اون صفحاتی که میخواید تحلیل کنید ثابت باشه. در حالت کلی به مورد خاصی که میخواید پردازش کنید بستگی داره.
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: rahmani در 13 خرداد 1392، 04:33 ب‌ظ
خيلي دوست داشتم لطفتون را جبران كنم اما فكر نمي كنم بتونم كاري براتون انجام بدم واضح كه برنامه نويسي تون بهتر از من هست خيلي ممنون پيروز و كامياب باشيد
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: vandu در 13 خرداد 1392، 04:59 ب‌ظ
زنده باشید دوست عزیز.
مثلا چنین کدی مناسب به نظر میرسه. البته باید برای پردازش چند صفحه اون رو بهینه کنید:

<?php
require_once(
'./simple_html_dom.php');
$html file_get_html('test.html');
foreach ($html->find('p') as $p) {
if (strpos(strtolower((string)$p),"published"))
foreach ($p->find("a") as $a) {
echo $a->href;
}
}
?>


در کد بالا test.html آدرس صفحه‌ای هست که میخواید پردازش کنید.
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: rahmani در 13 خرداد 1392، 05:42 ب‌ظ
عذر مي خوام اين فايل simple_html_dom.php توي سيستم هست؟ اگر نه از كجا برش دارم؟
خيلي ممنون
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: vandu در 13 خرداد 1392، 06:10 ب‌ظ
از این آدرس (http://sourceforge.net/projects/simplehtmldom/files/simple_html_dom.php/download) بردارید. مربوط میشه به صفحه دانلود PHP Simple HTML DOM Parser در sourceforge (http://sourceforge.net/projects/simplehtmldom/files/)
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: rahmani در 20 تیر 1392، 01:00 ب‌ظ
سلام
من برنامه را نوشتم اما از آنجا که اینترنت نداشتتم نتوانستم به موقع استفاده کنم
گفته بودم سایتی که metadata را از آن به دست می آورم http://journalseek.net (http://journalseek.net) است
گفته بودم تعداد journal هایی که باید metadata آن را به دست بیاورم زیاد است بنابراین شناسه را در یک جدول ذخیره کردم حال برنامه شناسه ها را از جدول میخواند و در جدول دیگری ذخیره میکند گفتنی است برخی journal ها قسمت توصیفشان زیاد مثلا یک صفحه است

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in /var/www/projects/issn/simple_html_dom.php on line 1470

همان طور که میدانید پرونده simple_html_dom.php را من ننوشتم و از روی اینترنت برداشتم حال بفرمایید این خطا را چطور باید حل کنم؟
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: doomhammer65ir در 20 تیر 1392، 03:01 ب‌ظ
cat /etc/php5/apache2/php.ini | grep memory_limit
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: rahmani در 20 تیر 1392، 06:36 ب‌ظ
سلام میشه لطف کنید بفرمایید این فرمان چکار می کند؟

ممنونم
عنوان: پاسخ : واكشي محتويات فايل html با استفاده از php
ارسال شده توسط: doomhammer65ir در 20 تیر 1392، 09:41 ب‌ظ
مرز کارگیری حافظه برای پی اچ پی را نشان میدهد
اگر 128 مگابایت باشد ان را به 192 یا 256 مگابایت جانشین کنید تا اسکریپت به درستی اجرا شود