數(shù)據(jù)采集有哪些常見問題?
1.數(shù)據(jù)采集可以爬取ajax信息么?
網(wǎng)頁上有一些異步加載的數(shù)據(jù),爬取這些數(shù)據(jù)有兩種方法:使用模擬瀏覽器,或者分析ajax的http請求,自己生成ajax請求的url,獲取返回的數(shù)據(jù)。
2.數(shù)據(jù)采集怎么抓取要登陸的網(wǎng)站?
這些開源采集程序都支持在抓取時指定cookies,模擬登陸主要是靠cookies。你可以手動獲取、用http請求模擬登陸或者用模擬瀏覽器自動登陸獲取cookie。
3.數(shù)據(jù)采集怎么抽取網(wǎng)頁的信息?
開源采集程序一般都會集成網(wǎng)頁抽取工具,主要支持兩種規(guī)范:CSS SELECTOR和XPATH。
4.采集程序被網(wǎng)站封了怎么辦?
采集程序被網(wǎng)站封了,一般使用代理IP就可以解決。比如天啟HTTP代理,提供API接口和代碼demo,使用起來很方便。如果使用其他代理IP,往往都需要自己將獲取的代理放到一個全局數(shù)組中寫一個代理隨機獲?。◤臄?shù)組中)的代碼。
5.數(shù)據(jù)采集怎么保存網(wǎng)頁的信息?
有一些采集程序,自帶一個模塊負責持久化。比如webmagic,有一個模塊叫pipeline。通過簡單地配置,可以將數(shù)據(jù)采集抽取到的信息,持久化到文件、數(shù)據(jù)庫等。還有一些采集程序,并沒有直接給用戶提供數(shù)據(jù)持久化的模塊。比如crawler4j和webcollector。讓用戶自己在網(wǎng)頁處理模塊中添加提交數(shù)據(jù)庫的操作。至于使用pipeline這種模塊好不好,就和操作數(shù)據(jù)庫使用ORM好不好這個問題類似,取決于你的業(yè)務。