您好,登錄后才能下訂單哦!
之前在github上發布了一個Scrapy的抓取項目,然后收到了來自 krake.io 的郵件,準確的說是推廣郵件,抱著好奇心進去看了看
krake 基于 EC2提供了在線的數據抓取服務,不過對于國人來說 遺憾的一點是他是收費的
不過注冊有送500點券,也就是能免費抓500條數據 也太少了點 呵呵...
為了節省您的時間,如果感覺不必要的 請就此打住。
下面是花了大概半個下午的時間在 krake上的測試
感覺他用于結構簡單、關系清晰的數據采集還是不錯的(ps:由于api文檔說明不太完善,加之鄙人的英文不是太好,復雜的東西就沒去深究了)
好了,廢話不多說了,上范例代碼:
//一個抓取對象 說明 //周公解夢生活篇 http://astro.sina.com.cn/jian/jiemeng/shenghuo.html // 此頁面的 中間部分采用 iframe 加載了 http://astro.sina.com.cn/jian/4997.shtml // 然后到達最終頁面 如 http://astro.sina.com.cn/jian/4997.shtml { // 抓取網址 origin_url : ["http://astro.sina.com.cn/jian/jiemeng/shenghuo.html",], // 采集的數據 規則 columns : [ { col_name : '第一層', xpath : '//iframe[@id="content"]',//選中iframe required_attribute : 'src', options : { columns : [ /** An array of column_object **/ {//一個數據列為一個對象 col_name : '第二層', //dom_query : '.css_class_name_of_columns'//jQuery 選擇器 包含jQuery時可使用如下規則進行分析 xpath : '//div[@id="wrap"]/h4',//'//xpath/to/elements'// xPath 選擇器 默認使用 required_attribute : "innerText", }, { col_name : '子項內容', xpath : '//div[@id="wrap"]/p/a',//最終層 required_attribute : 'href',//required_attribute_type //你希望采集的屬性 比如 innerHTML innerText textContent href src options : { //擴展一個新的 抓取對象 columns : [ { col_name : '標題', xpath : '//div[@id="wrap"]/h4', required_attribute : "innerText", }, { col_name : '內容', xpath : '//div[@id="wrap"]/p', required_attribute : "innerHTML", }, ], wait : 0, }, } ], }, wait : 0, } ], // 分頁規則 next_page : '',//next_page_object,包含 dom_query 或 xPath 選擇器 的對象 // cookie 驗證規則 cookies : '',//cookies_object,包含 cookie內容的 對象數組 // 需要提取的數據列 可選擇columns 中的部分數據導出 column_filter : [],//column_filter_object // 是否包含jQuery(可使用 jquery dom選擇器) 需注意是否會導致原頁面js沖突問題 exclude_jquery : true,//boolean // 頁面數據采集等待時間(用于Ajax延遲) wait : 3,//integer 默認0秒 }
如果有興趣,你也可以試試哦
當然在需求比較復雜的時候,建議還是直接使用Scrapy這類的抓取框架,就不要在這種小的在線工具代碼上浪費時間了(恐怕對于國人來說,收費才是最要命的 哈哈)
這邊順便附上 測試的項目地址吧
https://krake.io/krakes/445-testkrake
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。