pysplider中如何執(zhí)行phantomjs腳本
發(fā)布時(shí)間:2020-06-05 19:58 點(diǎn)擊量:
我知道這個(gè)問題可以分為兩種情況。一個(gè)是如何在pyspider中設(shè)置js腳本,以及如何在phantomjs中加載和執(zhí)行它們,另一個(gè)是如何執(zhí)行由phantomjs自己編寫的一些邏輯。下面將從兩個(gè)方面進(jìn)行解釋。
一、如何讓幻像在爬蟲腳本中執(zhí)行js代碼11。這里需要pyspider self.crawl接口中的三個(gè)參數(shù)。
提取類型、js腳本和js運(yùn)行時(shí)間。將fetch_type值設(shè)置為“js”,編寫要在js_script中執(zhí)行的js代碼,js_run_at參數(shù)指示js_script中的代碼是在頁面加載之前還是之后執(zhí)行的。每個(gè)參數(shù)在pyspider的應(yīng)用編程接口文檔中描述如下:
-1步閱讀2皮斯皮德的爬蟲頁面腳本編輯如下:
步驟讀取3在此設(shè)置之后,js_script中設(shè)置的方法將在phantomjs加載頁面之前被注入到頁面中,并且該方法將在phantomjs加載頁面時(shí)被執(zhí)行。
結(jié)束2。由phantomjs自己編寫的邏輯1可以從pyspider的源代碼中找到。當(dāng)爬網(wǎng)方法中fetch_type的值設(shè)置為js時(shí),請求將提交給phantomjs_fetcher.js進(jìn)行處理。以下是pyspider源代碼的截圖。
如果pyspider想要執(zhí)行某些邏輯,它可以重寫phantomjs_fetcher.js文件中的代碼,并添加相關(guān)的邏輯。
目標(biāo)
相關(guān)推薦