PDA

View Full Version : حرفه ای: جستجو واژه خاصی در صفحه وب با استفاده HtmlAgilityPack



Sal_64
چهارشنبه 14 فروردین 1392, 21:48 عصر
سلام
با چه دستوری در HtmlAgilityPack باید واژه (متن) خاصی در فایل html جستجو کرد؟
تشکر

RED-C0DE
پنج شنبه 15 فروردین 1392, 00:21 صبح
در مورد استفاده از سینتکس XPath تحقیق کنید...

مثلا برای جستجو تگ a در یک سند html :
myDocument.DocumentNode.SelectNodes("//a"))

Sal_64
پنج شنبه 15 فروردین 1392, 10:29 صبح
سلام
تشکر- اما همونطور که گفتم قراره متن جستجو کنه و نه نود و المنت و ....
مثلا در همین صفحه بدنبال واژه "تشکر" بگرده

RED-C0DE
پنج شنبه 15 فروردین 1392, 22:24 عصر
هدفتون رو بگین شاید راحت تر ب جوابای بهتری هم برسین..
وگرنه برای این سوالی ک کردین ، می تونین بصورت زیر ایندکس شروع کلمه مورد نظر رو داخل سند html بدست بیارین:
HtmlWeb client = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = client.Load("yourURLString);
var startIndexOfWord = doc.DocumentNode.InnerText.IndexOf("تشکر");

Sal_64
جمعه 16 فروردین 1392, 13:00 عصر
هدفتون رو بگین شاید راحت تر ب جوابای بهتری هم برسین..سلام - تشکر
من میخوام متن داخل تمام پاراگراف هایی (<p>) که لغت مورد نظر در اون وجود داره از داخل صفحه استخراج کنم
بازم ممنون از وقت و حوصلت

Amir Oveisi
یک شنبه 18 فروردین 1392, 16:55 عصر
اول توصیه می کنم اینجا رو مطالعه کنید کمی تا در مورد نحوه استفاده از XPath اطلاعاتی کسب کنید:
http://www.w3schools.com/xpath/xpath_syntax.asp

دوم اینکه تو بالا یه مثالی زده شده که کل تگ های <a> رو برمیگردونه، شما کافیه همون کار رو برای تگ های <p> انجام بدید:
myDocument.DocumentNode.SelectNodes("//p"))
بعد بیاید و داخل این node هایی که برگشت داده میشن، InnerText اشون رو بگیرید و چک کنید که کلمه مورد نظر شما رو دارند یا خیر:
var result = doc.DocumentNode.SelectNodes("//p").Where(p => p.InnerText.Contains("تشکر"));

تو این کد doc یک شی از نوع کلاس HtmlAgilityPack.HtmlDocument هست.

tooraj_azizi_1035
یک شنبه 18 فروردین 1392, 18:58 عصر
Use the following:

doc.DocumentNode.SelectNodes("//*[contains(text()[1], " + searchword + ")]")

This selects all elements (*) whose first text child (text()[1]) contains the searchword.

noth50
دوشنبه 22 مهر 1392, 09:08 صبح
سلام
من از کد های زیر برای پیدا کردن لینک دیو و پارامتر استفاده کردم و جواب گرفتم

("//a[@class='metatag-topic metatag-keywords']");

("//div[@class='pagination']/a[@href]");

("//p[@class='phone fRight ml10']");