龍巖易富通網絡科技有限公司

龍巖小程序開發,龍巖分銷系統

win下wget采集網頁內容

2016.05.02 | 1772閱讀 | 0條評論 | shell腳本

需要采集一批數據,是一網站上的產品信息,產品本身信息很簡單,使用火車采集器輕松實現;但產品價格數據是ajax響應數據,使用firebug + live http headers抓到該請求,并測試重發,發現該ajax請求必須帶一個http頭“X-Requested-With: XMLHttpRequest”,沒有就返回404錯誤。


gnu/linux下有大量的殺手級工具,這種情況,要動用其中的wget. wget有很多參數,這里需要使用其中兩個:-O,--header. 其中:


-O, 把請求結果保存到指定文件,但我們要使用的卻是一個特殊的值:“-”,它可以將結果輸出到標準輸出


--header, 結http請求加上自定義的頭(http header)


于是對于每條產品數據,都發送這樣的請求:


wget --header="X-Requested-With: XMLHttpRequest" -O save_123.txt "http://www.website.com/request/path/?Id=123"


這樣每條產品都保存到save_123.txt,save_124.txt,save_125.txt....這樣的一系列文件中。不過有個問題是,每條數據一個文件,后期分析不方便。所以將其存儲到單一的文件里。


方案:先將wget結果指向到標準輸出,然后再使用重定向符 >> 定向到單一的文件里。


不過,還有一個問題,每個http響應里沒有產品id號,數據跟采集到的產品信息對不上號。于是在每寫一筆采集結果前,往文件里先寫入該產品的id號。


這里使用echo 命令,要用到echo 的參數:-e, 作用是使用轉義符輸出換行。示例:echo -e "aaa\nbbb"


于是構造這樣的bash腳本:


echo -e "\n"10011"\t"  >>data.log ;wget --header="X-Requested-With: XMLHttpRequest" -O- "http://www.website.com/request/path/?Id=10011" >>data.log; 

echo -e "\n"10012"\t"  >>data.log ;wget --header="X-Requested-With: XMLHttpRequest" -O- "http://www.website.com/request/path/?Id=10012" >>data.log; 

echo -e "\n"10013"\t"  >>data.log ;wget --header="X-Requested-With: XMLHttpRequest" -O- "http://www.website.com/request/path/?Id=10013" >>data.log; sheep 1;

echo -e "\n"10014"\t"  >>data.log ;wget --header="X-Requested-With: XMLHttpRequest" -O- "http://www.website.com/request/path/?Id=10014" >>data.log; 

echo -e "\n"10015"\t"  >>data.log ;wget --header="X-Requested-With: XMLHttpRequest" -O- "http://www.website.com/request/path/?Id=10015" >>data.log; 

echo -e "\n"10016"\t"  >>data.log ;wget --header="X-Requested-With: XMLHttpRequest" -O- "http://www.website.com/request/path/?Id=10016" >>data.log; sheep 1;


第三行加一個sheep 1, 即每采三條暫停1秒鐘,作用是防止請求過于密集而影響服務器響應,暫停秒數按實際情況設置。


所有數據都保存到data.log文件里。


其實,對于而需要提取的數據,完全可以通過grep從定向到標準輸出的wget結果里提取。只是這里不么做了。


贊 (

發表評論

主站蜘蛛池模板: 亚洲色偷偷综合亚洲AV伊人| 久久青青色综合| 国产综合精品久久亚洲| 丁香五月综合久久激情| 欧美国产日韩综合在线| 国产精品综合专区中文字幕免费播放| 美国十次狠狠色综合| 亚洲狠狠综合久久| 欧美激情中文字幕综合一区| 女人和拘做受全程看视频日本综合a一区二区视频 | 国产综合无码一区二区辣椒| 欧美偷窥清纯综合图区| 亚洲精品天天影视综合网| 一本色道久久88加勒比—综合| 国产成人亚洲综合| 麻豆精品久久精品色综合| 亚洲国产综合网| 色综合中文字幕| 一本久道久久综合狠狠爱| 色婷婷狠狠久久综合五月| 亚洲综合伊人久久大杳蕉| 亚洲综合欧美精品一区二区| 欧美色综合天天综合高清网| 婷婷色香五月激情综合2020| 久久婷婷五月综合97色直播| 亚洲综合一区二区精品导航| 天天av天天翘天天综合网| 亚洲色婷婷综合久久| 狠狠色婷婷久久综合频道日韩| 亚洲 欧洲 日韩 综合在线| 欧美国产综合欧美视频| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 精品综合久久久久久97超人| 久久婷婷色香五月综合激情 | 国产精品欧美亚洲日本综合| 久久综合狠狠综合久久97色| 久久综合视频网| 亚洲va欧美va天堂v国产综合| 丁香五月天综合缴情网| 亚洲欧洲国产成人综合在线观看 | 国产欧美日韩综合精品二区|