目錄
    采集當當網圖書商品信息
    視頻教程:模板下載:
    l 采集網站

    【場景描述】采集當當網計算機類中的圖書信息。

    【源網站介紹】當當(www.dangdang.com)是全球知名的綜合性網上購物商城,由國內著名出版機構科文公司、美國老虎基金、美國IDG集團、盧森堡劍橋集團、亞洲創業投資基金(原名軟銀中國創業基金)共同投資成立,于美國時間2010年12月8日在紐約證券交易所正式掛牌上市,成為中國第一家完全基于線上業務、在美國上市的B2C網上商城。

    【使用工具】前嗅ForeSpider數據采集系統,點擊下方鏈接可免費下載

    http://www.bendalayoga.com/view/forespider/view/download.html

    【入口網址】

    http://category.dangdang.com/cp01.54.00.00.00.00.html

    【采集內容】

    采集當當網中的計算機類中的圖書信息,包括所屬一級分類、二級分類、書名、簡介、作者、出版社、出版時間、價格、編輯推薦、內容簡介、作者簡介、目錄、頁面網址等。


    【采集效果】如下圖所示:


    l 思路分析

    配置思路概覽:


     

    l 配置步驟

    1. 新建采集任務

    選擇【采集配置】,點擊任務列表右上方【+】號可新建采集任務,將采集入口地址填寫在【采集地址】框中,【任務名稱】自定義即可,點擊下一步。


    選擇列表鏈接,點擊完成按鈕,即創建任務完成。

     

     

    2.獲取分類鏈接

    ①采集預覽,查看頁面所有鏈接,查找計算機分類鏈接的規律,發現所有與計算機相關的分類的鏈接規律為:http://category.dangdang.com/cp01.54.+數字串+.00.00.00.html

     


    ②所以使用地址過濾的方法,過濾鏈接為以下規律的鏈接:http://category.dangdang.com/cp01.54.\d.00.00.00.html   

    其中\d表示數字串,點擊保存,重新測試,計算機分類鏈接就篩選出來了。

     



    3. 抽取圖書商品鏈接

    ①新建一層模板02,并新建兩個鏈接抽取,第一個鏈接抽取抽取商品頁鏈接,第二個抽取翻頁鏈接。

    可分別修改名稱為:列表鏈接抽取和翻頁鏈接抽取。



    ②選擇任意一條分類鏈接,并粘貼到模板02的示例地址處,點擊上角保存按鈕。

     


    ③雙擊內置瀏覽器空白處,內置瀏覽器顯示該頁面。

     


    ④采集預覽,雙擊任意一條分類鏈接,進入圖書商品列表頁,查看頁面鏈接,觀察圖書鏈接規律,發現圖書商品鏈接規律為:

    http://product.dangdang.com/+數字串+.html

    ⑤設置地址過濾,過濾規律為http://product.dangdang.com/\d.html\e的鏈接,其中\d表示數字串,\e表示鏈接結束。采集預覽,圖書商品鏈接已抽取到。

     


    4.抽取翻頁鏈接

    采集預覽,雙擊任意一條分類鏈接進入分類頁,觀察翻頁鏈接,發現翻頁鏈接中都含有:http://category.dangdang.com/pg,使用地址過濾方法,過濾地址中含有:http://category.dangdang.com/pg的鏈接。采集預覽如下圖所示:

     

     

    5.抽取圖書商品數據

    ①新建一個抽取模板,在其下新建一個數據抽取,具體操作如下所示:

     


    ②數據建表,按照下圖所示建數據表。(注意字段屬性等應嚴格按照下圖進行設置)

     


    ③將新建好的數據表,關聯到模板中去,如下圖所示:

     

     

    ④填寫示例數據,采集預覽,復制任意一條圖書商品鏈接。

     


    將鏈接粘貼到本模板示例地址中,并雙擊內置瀏覽器空白部分,加載本鏈接。

     


    ⑤關聯模板

    模板02中的列表鏈接抽取,關聯模板03,這樣采集到的圖書商品鏈接會到模板03進行數據抽取。

     


    模板02中的翻頁鏈接抽取,關聯模板02,這樣采集到的翻頁鏈接會繼續在模板02中進行列表鏈接抽取。

     


    ⑥數據抽取-可視化抽取部分字段

    Class1&class2使用字段定位取值的方法,進行取值,具體操作如下所示:

     

     

    Title取值同上



    Introduct、Autho、publish、pubtime、price取值同上

     

     





    ⑦數據抽取—腳本抽取部分字段

    Recommend后邊的字段對應的數據不在頁面源碼中,所以用定位取值取不到。

    接下來我們用瀏覽器打開該示例地址,查看recommend等字段對應的數據在哪個請求中。

    點擊F12,查看每個請求中返回的內容,發現recommend等內容在下圖所示請求中。

     


    發現該請求的鏈接是:

    http://product.dangdang.com/index.php?r=callback%2Fdetail&productId=29267036&templateType=publish&describeMap=01000031459%3A1&shopId=0&categoryPath=01.54.06.23.00.00

    觀察發現其規律為:

    http://product.dangdang.com/index.php?r=callback%2Fdetail&productId=+id+&templateType=publish&describeMap=01000031459%3A1&shopId=0&categoryPath=01.54.20.00.00.00";

    查看請求中的返回內容,發現文本內容都被Unicode轉譯。

     


    使用在線轉碼工具能夠轉譯為中文。

     

     

    在源碼中,發現id為【abstract-all】的內容是編輯推薦(recommend字段)。

     

     

    同理,id為【content-all】的內容是內容簡介(content字段);

    id為【catalog-show-al】的內容是目錄內容(booklist字段);

    故在recommend字段創建腳本教程如下所示:



    腳本文本如下所示:

    var id=URL.urlname.Middle(".com\/",".html"); //從網址中拿到商品ID
    var ur = "http://product.dangdang.com/index.php?r=callback%2Fdetail&productId="+id+"&templateType=publish&describeMap=01000031459%3A1&shopId=0&categoryPath=01.54.20.00.00.00";
    var doc = EXTRACT.OpenDoc(CHANN,ur); //通過第2行拼出的請求地址,打開請求(必須與CloseDoc成對使用)
    var str = doc.GetDom().GetSource().ToStr(); //取請求正文->取正文源碼->轉換成字符串類型
    jScript js; //定義一個js變量,用于存儲json文件
    var json=js.RunJson(DOM.UnEscape(str,1)); //將已轉換成字符串的請求正文,轉換成json格式,并用UnEsCape()方法轉碼(從Unicode編碼轉化成GBK)
    var html = OpenDom(json.data.html,ur, false); //將json中包含著的HTML部分取出來,并轉變為DOM樹結構(必須與CloseDom成對使用)
    var recommend=html.GetTextAll(html.FindId("abstract-all").next); //從DOM樹中找到該字段的節點,將內容取出來
    REC.content = html.GetTextAll(html.FindId("content-all").next); //由于當前打開的請求正文中,也包含了其他字段,為了節約效率,定義一個當前記錄集對象,將其他字段一并取出
    REC.author_info = html.GetTextAll(html.FindId("authorIntroduction-all").next); //同上
    REC.booklist = html.GetTextAll(html.FindId("catalog-show-all").next); //同上
    CloseDom(html); //關閉一個由OpenDom打開的dom樹
    EXTRACT.CloseDoc(doc); //關閉打開的采集文檔
    return recommend;

     ⑦采集預覽,雙擊進入下一層,知道打開數據頁,抽取到數據,表示配置成功。

     

     

    l 采集步驟

    模板配置完成,采集預覽沒有問題后,可以進行數據采集。

    ①首先要建立采集數據表:

    選擇【數據建表】,點擊【表單列表】中該模板的表單,在【關聯數據表】中選擇【創建】,表名稱自定義,這里命名為【dangdang】(注意命名不能用數字和特殊符號),點擊【確定】。創建完成,勾選數據表,并點擊右上角保存按鈕。



    ②選擇【數據采集】,勾選任務名稱,點擊【開始采集】,則正式開始采集。

     


    ③采集結束后,可以在【數據瀏覽】中,選擇數據表查看采集數據,并可以導出數據。

     



    ④導出的文件打開如下圖所示:

     


    溫馨提示:采集過程中可能會遇到封ip的情況,如果您配置好后沒有采集到數據,可購買適量代理ip進行采集。



    女人个人私人电话联系杭州的|热久久久久香蕉无品码|爱情岛亚洲永久自拍品质|国产丶欧美丶日本不卡