[英]How to extract data from a raw HTML file?
有沒有一種方法可以從原始的HTML中提取所需的數據,而這些原始HTML是沒有IDs
和classes
,因此無法正確編寫? 我的意思是,假設存在網頁(配置文件)的已保存html文件,並且我想提取諸如“愛好”之類的數據。 是否可以使用PHP做到這一點?
BeautifulSoup http://www.crummy.com/software/BeautifulSoup/ ,也許嗎?
聽起來您正在尋找PHP DOM解析器,例如this 。 如果HTML確實沒有語義結構,那么提取所需的數據可能會有些棘手,但是DOM解析器是起點。
是的,該技術被稱為刮網 。 如果DOM有效,則可以使用DOM。 如果頁面是動態生成的,則生成器將使用某種結構,根據我的經驗,您始終可以隔離感興趣的元素。
如果DOM對您不起作用,則可以使用正則表達式(這就是編寫Web蜘蛛時我經常使用的表達式)。 與針對DOM層次結構編寫抓取邏輯相比,正則表達式更有效,更快捷。 因此,您需要打開一些配置文件頁面並分析靜態結構。 然后只需編寫一個正則表達式即可隔離感興趣的字段。
使用正則表達式 ! 我開玩笑,我開玩笑。 如果您知道同一頁面的狀態,並且可以保證格式足夠相似,則可以嘗試編寫手動解析器。 另外,也有很多庫可以解析html。 我對PHP不太熟悉,無法推薦一個,但是我敢肯定,某些Googleing可以帶給您很多幫助。 之前,我對John Resig的純JavaScript HTML解析器很幸運。
歸根結底,如果您需要從不是以語義方式構建的html頁面中獲取語義信息,那么您可能會在編程上注定要失敗,並且最好的選擇可能是機械特克 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.