سلام. یک کد نوشتم واسه اسکرپینگ که میره از یه سایت عناوین خبر رو میگیره...
یه قسمت از کد رو در هنگام مطالعه یه کتاب قدیمی، از اونجا برداشتم. اما درکش برام سخته. اگه ممکنه راهنمایی کنید
function returnXPathObject($item)
{
$xmlPageDom = new DomDocument();
@$xmlPageDom->loadHTML($item);
$xmlPageXPath = new DOMXPath($xmlPageDom);
return $xmlPageXPath;
}
در این کد قسمت $item سورس یه صفحه وب وارد تابع میشه. ابتدا یک شی ایجاد میکنه و کد رو لود میکنه و دوباره شی ایجاد میکنه.
دقیقا نقش اون @ چیه؟ در مباحث پایه php سونلون این رو یاد گرفتم. ولی در اینجا درکش برام سخته
چه لزومی داره که دوباره دوتا شی new بشه؟ نمیشد با همون اولی کار رو تموم کرد؟
میشه با یه روش بهتر این کد رو نوشت؟
مورد بعد هم در کد پایین:
$title = $PageXpath->query('//h1'); // Querying for H1 tag
وقتی میخوایم یه کوئری بزنیم چرا از // قبل از اون استفاده میشه؟
یا در جایی دیدم اینجوری یه کلاس رو نوشته:
//div[@class="bpright"]/div[@class="author"]/a
نوشتن کلاسها و آی دیها و تگها و... در یک کوئری واسه دریافت اون در اسکرپینگ (با این روش که در php نوشته میشه) جزو چه مبحثی هست و واسه تسلط روی اون باید چه مبحثی رو مطالعه کنم؟


