❶ 镐庝箞镆ョ湅鎼灭储铚樿洓镐庝箞镆ョ湅鎼灭储铚樿洓镄勮板綍
linuxNGX濡备綍镆ョ湅鎼灭储寮曟搸铚樿洓鐖铏镄勮岋纻
1銆傜栌搴﹁湗铔涙姄鍙栫殑娆℃暟銆cataccess.loggrepBaispiderWC
宸﹁竟镄勬暟瀛楁樉绀虹殑鏄鎶揿彇镄勬℃暟銆
2.锏惧害铚樿洓璇︾粏璁板綍(CtrlC鍙浠ョ粓姝)
cataccess.loggrepBaispider
鎭ㄤ篃鍙浠ヤ娇鐢ㄤ互涓嫔懡浠:
cataccess.loggrepBaispidertail-n10
cataccess.loggrepBaispiderhead-n10
鍙镆ョ湅链钖10涓鎴栧墠10涓锛岃繖镙峰氨鍙浠ョ煡阆撹繖涓镞ュ织鏂囦欢寮濮嬭板綍镄勬椂闂村拰镞ユ湡銆
3.锏惧害铚樿洓鎶揿彇棣栭〉镄勮︾粏璁板綍
cataccess.loggrepBaispidergrep"GET/HTTP"
锏惧害铚樿洓浼间箮寰堢埍涓婚〉锛屾疮涓灏忔椂閮芥潵璁块梾锛岃岃胺姝屽拰闆呰柠铚樿洓镟村枩娆㈠唴椤点
4.锏惧害铚樿洓娲炬ц板綍镄勬椂闂村垎甯冦
cataccess.loggrep"Baispider"awk'{print$4}
5.锏惧害铚樿洓鎶揿彇椤甸溃鎸夋椂闂撮檷搴忔帓鍒椼
cataccess.loggrep"Baispider"awk'{print$7}鎺掑簭uniq-c鎺掑簭-r
鎶夿aispider鏀规垚Googlebot灏卞彲浠ユ煡鐪婫oogle镄勬暟鎹浜嗐傞壌浜庡唴鍦扮殑鐗规畩镐э纴澶у惰佸氩叧娉ㄧ栌搴︾殑镞ュ织銆
闄:(濯掍綋钖堜綔浼欎即-Google)GoogleAdsense铚樿洓璇︾粏鎶揿彇璁板綍
cataccess.loggrepmediapartners
涓崭竴浼氶偅鍙铚樿洓灏辩埇鍒板簥搴曚简锛屾垜璇ユ庝箞锷炲憖锛屾垜链镐曡湗铔涗简锛
鎴戜篃寰堟曡湗铔涜繖镙风殑鏄呜櫕锛屽挨鍏舵槸寰埚氱殑镞跺欍傛垜浠庣绣涓婃悳浜嗕竴娈垫垜璁や负鍙琛岀殑鏂规堬纴阃佺粰浣狅细
濡傛灉鏄鎴块棿閲屾湁铚樿洓锛屾埧闂磋佹潵涓娆″ぇ镓闄ゃ傚傛灉灞嬭掓湁缁撶绣鍙鐢ㄦ壂甯氭闷鎺夛纴锽峰皯璁搁浄杈炬垨鏄𨱔瀹崇伒绛夌殑锽烽浘寮忔潃铏鍓备互渚垮幓闄よ櫕鍗碉绂娓呮壂澧栾掞纴澧栾掑湴闱㈠柗娲掑皯璁84娑堟瘨娑叉垨鏄鐢ㄦ嫋鎶婃簿绋閲婅繃镄84娑堟瘨娑叉竻鐞嗕竴涓嫔湴闱銆傛や妇涓瀹氲ょ湡镓ц岋纴84娑堟瘨娑插逛簬钖勭被瀹跺眳铏铏鍙浠ヨ捣鍒伴暱链熸姂姝浣灭敤銆傛敞镒84娑堟瘨娑茬殑绋閲婃瘆渚嬶纴鍙鍦ㄥ崐妗舵按涓灏戦噺鍒嗘℃参鎱㈡坊锷狅纴浠ュ垭婵镐ф皵锻充笉瑕佸お閲崭负瀹滐纴寰呭湴闱㈡按娓嶈捀鍙戝畬姣曡板缑寮绐楁崲姘斻傚簥搴曟澘涓婂傛湁铚樿洓澶勭悊鏂规硶钖屽眿瑙掞纴鍑夋檼镊宸辩殑琚瑜ワ纴璐涔版熻剳鐞幂疆浜庤。镆灭瓑闅愮樼殑鍌ㄧ墿绌洪棿鍐咃纴浠ヤ究椹辫刀铏瀹炽
濡备綍钖稿紩鎼灭储寮曟搸铚樿洓鎶揿彇鎴戜滑镄勭绣绔檩锛
锅氱绣绔欎紭鍖栫殑镄勭洰镄勶纴灏辨槸涓轰简鍦ㄦ悳绱㈠紩镎庝腑锛屾嫢链変竴涓镩濂界殑鎺掑悕锛屼粠钥岃幏寰楀ぇ閲忕殑娴侀噺銆傛兂瑕佸湪鎼灭储寮曟搸涓銮峰缑镩濂界殑鎺掑悕锛屽氨蹇呴’瑕佹彁鍗囨悳绱㈠紩镎庤湗铔涘圭绣绔欑殑鎶揿彇阃熷害銆傚傛灉鎼灭储寮曟搸瀵圭绣绔欐姄鍙栫殑棰戠巼浣庯纴灏变细鐩存帴褰卞搷鍒扮绣绔欑殑鎺掑悕銆佹祦閲忎互鍙婃潈閲岖殑璇勭骇銆
闾d箞锛屽备綍鎻愬崌鎼灭储寮曟搸铚樿洓瀵圭绣绔欑殑鎶揿彇阃熷害锻锛
1銆佷富锷ㄦ彁浜ょ绣绔欓摼鎺
褰撴洿鏂扮绣绔欓〉闱㈡垨钥呬竴浜涢〉闱㈡病琚鎼灭储寮曟搸鏀跺綍镄勬椂鍊欙纴灏卞彲浠ユ妸阈炬帴鏁寸悊钖庯纴鎻愪氦鍒版悳绱㈠紩镎庝腑锛岃繖镙峰彲浠ュ姞蹇缃戠珯椤甸溃琚鎼灭储寮曟搸铚樿洓鎶揿彇镄勯熷害銆
2銆佷紭璐ㄧ殑鍐呭
鎼灭储寮曟搸铚樿洓鏄闱炲父锽沧㈢绣绔欎紭璐ㄧ殑鍐呭癸纴濡傛灉缃戠珯闀挎椂闂翠笉镟存柊浼樿川镄勫唴瀹癸纴闾d箞鎼灭储寮曟搸铚樿洓灏变细阃愭笎闄崭绠瀵圭绣绔欑殑鎶揿彇鐜囷纴浠庤屽奖鍝岖绣绔欐帓钖崭互鍙婃祦閲忋傛墍浠ョ绣绔椤繀椤昏佸畾镞跺畾閲忕殑镟存柊浼樿川鍐呭癸纴杩欐牱镓嶈兘钖稿紩鎼灭储寮曟搸铚樿洓镄勬姄鍙栵纴浠庤屾彁鍗囨帓钖嶅拰娴侀噺銆
3銆佺绣绔椤湴锲
缃戠珯鍦板浘鍙浠ユ竻鏅扮殑鎶婄绣绔椤唴镓链夌殑阈炬帴灞旷幇鍑烘潵锛岃屾悳绱㈠紩镎庤湗铔涘彲浠ラ‘镌缃戠珯鍦板浘涓镄勯摼鎺ヨ繘鍏ュ埌姣忎釜椤甸溃涓杩涜屾姄鍙栵纴浠庤屾彁鍗囩绣绔欐帓钖嶃
4銆佸栭摼寤鸿
楂樿川閲忓栭摼瀵规彁鍗囩绣绔欐帓钖嶆湁寰埚ぇ浣灭敤锛屾悳绱㈠紩镎庤湗铔涗细椤虹潃阈炬帴杩涘叆鍒扮绣绔欎腑锛屼粠钥屾彁鍗囨姄鍙栫绣绔欑殑阃熷害銆傚傛灉澶栭摼璐ㄩ噺澶宸锛屼篃浼氩奖鍝嶆悳绱㈠紩镎庤湗铔涚殑鎶揿彇阃熷害銆
镐讳箣锛屽彧瑕佹彁鍗囨悳绱㈠紩镎庤湗铔涘圭绣绔欑殑鎶揿彇阃熷害锛岀绣绔椤氨鑳藉湪鎼灭储寮曟搸涓銮峰缑镩濂芥帓钖嶏纴浠庤岃幏寰楀ぇ閲忔祦閲忋
鎼灭储寮曟搸铚樿洓鏄镐庢牱鎶揿彇缃戦〉镄勫憿锛
鎼灭储寮曟搸鐢ㄦ潵鐖琛屽拰璁块梾椤甸溃镄勭▼搴忚绉颁负铚樿洓锛屼篃鍙鐖铏銆傛悳绱㈠紩镎庡懡浠ゅ畠鍒颁簰镵旂绣涓婃祻瑙堢绣椤碉纴浠庤屽缑鍒颁簰镵旂绣镄勫ぇ閮ㄥ垎鏁版嵁(锲犱负杩樻湁涓閮ㄥ垎𨱌楃绣锛屼粬鏄寰堥毦鎶揿彇鍒扮殑)铹跺悗鎶婅繖浜涙暟鎹瀛桦埌鎼灭储寮曟搸镊宸辩殑鏁版嵁搴扑腑銆傝嚜宸卞彂甯栨垨钥呭栨帹浜х敓镄刄RL濡傛灉娌℃湁鎼灭储寮曟搸铚樿洓鐖琛岋纴闾d箞璇ユ悳绱㈠紩镎庡氨涓崭细鏀跺綍璇ラ〉闱锛屾洿涓岖敤璇存帓钖崭简銆俽钥岃湗铔涙睁绋嫔簭镄勫师鐞嗭纴灏辨槸灏呜繘鍏ュ彉閲忔ā𨱒跨敓鎴愬ぇ閲忕殑缃戦〉鍐呭癸纴浠庤屽惛澶ф壒镄勮湗铔涳纴璁╁叾涓嶅仠鍦板湪杩欎簺椤甸溃涓鎶揿彇锛岃屽皢鎴戜滑闇瑕佹敹褰旷殑URL娣诲姞鍦ㄨ湗铔涚珯寮鍙戠殑涓涓鐗瑰畾鐗埚潡涓銆傝繖镙峰氨鑳戒娇鐢ㄦ垜浠闇瑕佹敹褰旷殑URL链夊ぇ閲忕殑铚樿洓鎶揿彇鐖琛岋纴澶уぇ鎻愬崌浜嗛〉闱㈡敹褰旷殑鍙鑳芥с傛墍璋撴棩鍙戠栌涓囧栭摼灏辨槸杩欐牱𨱒ョ殑锛屼竴涓鏅阃氱殑铚樿洓姹犱篃闇瑕佽呖灏戞暟锏句釜锘熷悕銆傝屾嵁鎴戞墍鐭ラ珮閰疯湗铔涙睁澶ф傛湁2000涓镫绔嫔烟钖嶏纴镞ュ潎铚樿洓200W銆傛槸姣旇缉搴炲ぇ镄勪竴涓铚樿洓姹犱简銆俽浠ヤ笂灏辨槸铚樿洓姹犵殑铡熺悊锛岄偅涔埚备綍鎼寤鸿湗铔涙睁?1.澶欼P镄刅PS鎴栨湇锷″櫒(镙规嵁瑕佹眰钥屽畾)r澶欼P链嶅姟鍣锛屽缓璁缇庡浗链嶅姟鍣锛屾渶濂芥槸楂橀厤閰嶏纴閰岖疆鏂归溃(鍏蜂綋鐪嫔烟钖嶆暟閲)涓嶆帹钻愪娇鐢ㄩ欐腐链嶅姟鍣锛屽甫瀹藉皬锛屽规槗琚铚樿洓鐖婊°傞吨瑕佺殑鏄链嶅姟鍣ㄥ唴瀛树竴瀹氲佸ぇ锛屼箣鍓嶆垜浠灏遍亣鍒拌繃锛屽墠链熷垰锅氱殑镞跺欙纴鐢ㄧ殑鍐呭瓨姣旇缉灏忥纴铚樿洓閲忎竴澶х殑璇濓纴绔嬮┈灏卞穿浜嗐俽2.涓瀹氭暟閲忕殑锘熷悕(镙规嵁鏁伴噺钥屽畾)r鍙璐涔伴棽缃镄勪簩镓嬬殑锘熷悕锛屽烟钖崭究瀹灭殑灏卞ソ锛屽ソ镣圭殑铚樿洓姹狅纴镊冲皯鍑嗗1000涓锘熷悕钖э纴铚樿洓姹犵洰镄勪负钖稿紩铚樿洓锛屽缓璁浣跨敤钖庣紑涓篊NCOMNET涔嬬被镄勫烟钖嶏纴锘熷悕璁¤垂浠ュ勾涓鸿¤垂锛屾垚链涓岖畻澶澶э纴锘熷悕镙规嵁鏁堟灉浠ュ强鎭ㄧ殑阈炬帴鏁伴噺阃愭笎澧炲姞锛屾晥鏋滀细缈诲嶅为暱銆备篃鍙鍦ㄤ箣鍓嶈喘涔扮殑锘熷悕涓婅В鏋愪竴閮ㄥ垎锘熷悕鍑烘潵锛岀户缁澧炲姞缃戠珯锛屾墿澶ф睁瀛愶纴澧炲姞铚樿洓閲忋俽3.鍙橀噺妯$増绋嫔簭(鎴愭湰涓鑸鍗冨厓宸﹀彸)r鍙镊宸卞紑鍙戯纴濡傛灉涓崭细镄勶纴涔熷彲鍦ㄥ竞鍦轰笂璐涔扮▼搴忓彉閲忔ā鐗,𨱔垫椿鏂囩珷浠ュ强瀹屾暣镄勭绣绔椤厓绱犲紩澶栭摼,CSS/JS/瓒呴摼鎺ョ瓑镫鐗圭殑鎶宸у惛寮曡湗铔涚埇鍙!璁╂疮涓锘熷悕涓嫔唴瀹归兘鍙樼殑涓崭竴镙!閮界煡阆撶栌搴﹀逛簬缃戠珯閲嶅嶅唴瀹圭殑镓揿嚮镐佸害锛屾墍浠ュ繀椤讳缭鎸佹疮涓绔欑殑鍐呭逛笉瑕佸嚭鐜伴吨澶嶏纴镓浠ュ彉閲忕▼搴忓氨鏄惧缑灏や负閲嶈併俽4.绋嫔簭锻(瀹炲姏绋嶅ソ镣圭殑)r闇婊¤冻锛岀绣绔椤唴瀹圭殑閲囬泦浠ュ强镊锷ㄧ敓鎴愶纴鎴戜滑鍓嶆湡閲囬泦浜嗕笉灏戣瘝𨱒★纴镊锷ㄧ粍钖堟枃绔狅纴鍓嶆湡阒舵碉纴涓澶╀簲鍗佷竾鏂囩珷镄勭敓鎴愰噺锛屾墍浠ュ规湇锷″櫒鏄涓涓寰埚ぇ镄勫帇锷涖傛渶濂界▼搴忓憳瑕佹哕链嶅姟鍣ㄧ$悊缁存姢涔嬬被镄勭煡璇嗭纴寰堥吨瑕併俽鍙浠ョ湅鍑猴纴铚樿洓姹犵殑鎴愭湰鍏跺疄涓岖畻浣庯纴鏁板崈涓锘熷悕锛屽ぇ镄勬湇锷″櫒锛岀▼搴忓憳锛屽逛簬涓鑸绔欓暱𨱒ヨ达纴鎼寤鸿湗铔涙睁鎴愭湰锅忛珮锛屾т环姣斾笉楂樸傚缓璁绉熺敤铚樿洓姹犳湇锷★纴缃戜笂涔熸湁楂橀叿铚樿洓姹犮佽秴绾ц湗铔涙睁绛夊湪绾跨殑铚樿洓姹犮係EO銆佸栨帹銆佷釜浜虹珯闀垮彲浠ュ叧娉ㄤ竴涓嬨俽铚樿洓姹犵殑浣灭敤?1.铚樿洓姹犵殑鏁堟灉链夊摢浜况绛旓细鍙浠ュ揩阃熻╀綘镄勭珯镄勮繛鎺ュ缑鍒版悳绱㈠紩镎庣殑鐖琛宺2.铚樿洓姹犲彲浠ユ彁楂樼绣绔欐潈閲嶅悧?r绛旓细链韬鎼灭储寮曟搸鐖琛屽拰缁欎篑𨱒冮吨闇瑕丯澶╋纴锲犱负绗涓涓镄勫师锲狅纴浠栧彲浠ュ揩阃熺殑缁欎篑甯﹀洖鏁版嵁涓蹇冿纴涔熷氨鏄璇存湰𨱒ュ簲璇ラ渶瑕丯澶╃埇琛岀殑椤甸溃锛岀幇鍦ㄥ揩阃熺埇琛屼简銆备絾鏄鏄钖︿细鎺ョ潃杩涜岃$畻瑕佺湅寰埚氩洜绱狅纴姣斿备綘缃戠珯镊韬𨱒冮吨銆侀〉闱㈣川閲忋侀〉闱㈡帹钻??r3.铚樿洓姹犵殑鏁堟灉澧炲姞鏂扮珯鏀跺綍钖梤绛旓细涓瀹氱▼搴︿笂鎶揿彇镄勯〉闱㈠氢简锛屾敹褰曚细链変竴瀹氭瘆渚嬬殑澧炲姞銆俽
❷ 精通python网络爬虫之网络爬虫学习路线
欲精通Python网络爬虫,必先了解网络爬虫学习路线,本篇经验主要解决这个问题。部分内容参考自书籍《精通Python网络爬虫》。
作者:韦玮
转载请注明出处
随着大数据时代的到来,人们对数据资源的需求越来越多,而爬虫是一种很好的自动采集数据的手段。
那么,如何才能精通Python网络爬虫呢?学习Python网络爬虫的路线应该如何进行呢?在此为大家具体进行介绍。
1、选择一款合适的编程语言
事实上,Python、PHP、JAVA等常见的语言都可以用于编写网络爬虫,你首先需要选择一款合适的编程语言,这些编程语言各有优势,可以根据习惯进行选择。在此笔者推荐使用Python进行爬虫项目的编写,其优点是:简洁、掌握难度低。
2、掌握Python的一些基础爬虫模块
当然,在进行这一步之前,你应当先掌握Python的一些简单语法基础,然后才可以使用Python语言进行爬虫项目的开发。
在掌握了Python的语法基础之后,你需要重点掌握一个Python的关于爬虫开发的基础模块。这些模块有很多可以供你选择,比如urllib、requests等等,只需要精通一个基础模块即可,不必要都精通,因为都是大同小异的,在此推荐的是掌握urllib,当然你可以根据你的习惯进行选择。
3、深入掌握一款合适的表达式
学会了如何爬取网页内容之后,你还需要学会进行信息的提取。事实上,信息的提取你可以通过表达式进行实现,同样,有很多表达式可以供你选择使用,常见的有正则表达式、XPath表达式、BeautifulSoup等,这些表达式你没有必要都精通,同样,精通1-2个,其他的掌握即可,在此建议精通掌握正则表达式以及XPath表达式,其他的了解掌握即可。正则表达式可以处理的数据的范围比较大,简言之,就是能力比较强,XPath只能处理XML格式的数据,有些形式的数据不能处理,但XPath处理数据会比较快。
4、深入掌握抓包分析技术
事实上,很多网站都会做一些反爬措施,即不想让你爬到他的数据。最常见的反爬手段就是对数据进行隐藏处理,这个时候,你就无法直接爬取相关的数据了。作为爬虫方,如果需要在这种情况下获取数据,那么你需要对相应的数据进行抓包分析,然后再根据分析结果进行处理。一般推荐掌握的抓包分析工具是Fiddler,当然你也可以用其他的抓包分析工具,没有特别的要求。
5、精通一款爬虫框架
事实上,当你学习到这一步的时候,你已经入门了。
这个时候,你可能需要深入掌握一款爬虫框架,因为采用框架开发爬虫项目,效率会更加高,并且项目也会更加完善。
同样,你可以有很多爬虫框架进行选择,比如Scrapy、pySpider等等,一样的,你没必要每一种框架都精通,只需要精通一种框架即可,其他框架都是大同小异的,当你深入精通一款框架的时候,其他的框架了解一下事实上你便能轻松使用,在此推荐掌握Scrapy框架,当然你可以根据习惯进行选择。
6、掌握常见的反爬策略与反爬处理策略
反爬,是相对于网站方来说的,对方不想给你爬他站点的数据,所以进行了一些限制,这就是反爬。
反爬处理,是相对于爬虫方来说的,在对方进行了反爬策略之后,你还想爬相应的数据,就需要有相应的攻克手段,这个时候,就需要进行反爬处理。
事实上,反爬以及反爬处理都有一些基本的套路,万变不离其宗,这些后面作者会具体提到,感兴趣的可以关注。
常见的反爬策略主要有:
IP限制
UA限制
Cookie限制
资源随机化存储
动态加载技术
……
对应的反爬处理手段主要有:
IP代理池技术
用户代理池技术
Cookie保存与处理
自动触发技术
抓包分析技术+自动触发技术
……
这些大家在此先有一个基本的思路印象即可,后面都会具体通过实战案例去介绍。
7、掌握PhantomJS、Selenium等工具的使用
有一些站点,通过常规的爬虫很难去进行爬取,这个时候,你需要借助一些工具模块进行,比如PhantomJS、Selenium等,所以,你还需要掌握PhantomJS、Selenium等工具的常规使用方法。
8、掌握分布式爬虫技术与数据去重技术
如果你已经学习或者研究到到了这里,那么恭喜你,相信现在你爬任何网站都已经不是问题了,反爬对你来说也只是一道形同虚设的墙而已了。
但是,如果要爬取的资源非常非常多,靠一个单机爬虫去跑,仍然无法达到你的目的,因为太慢了。
所以,这个时候,你还应当掌握一种技术,就是分布式爬虫技术,分布式爬虫的架构手段有很多,你可以依据真实的服务器集群进行,也可以依据虚拟化的多台服务器进行,你可以采用urllib+redis分布式架构手段,也可以采用Scrapy+redis架构手段,都没关系,关键是,你可以将爬虫任务部署到多台服务器中就OK。
至于数据去重技术,简单来说,目的就是要去除重复数据,如果数据量小,直接采用数据库的数据约束进行实现,如果数据量很大,建议采用布隆过滤器实现数据去重即可,布隆过滤器的实现在Python中也是不难的。
以上是如果你想精通Python网络爬虫的学习研究路线,按照这些步骤学习下去,可以让你的爬虫技术得到非常大的提升。
至于有些朋友问到,使用Windows系统还是Linux系统,其实,没关系的,一般建议学习的时候使用Windows系统进行就行,比较考虑到大部分朋友对该系统比较数据,但是在实际运行爬虫任务的时候,把爬虫部署到Linux系统中运行,这样效率比较高。由于Python的可移植性非常好,所以你在不同的平台中运行一个爬虫,代码基本上不用进行什么修改,只需要学会部署到Linux中即可。所以,这也是为什么说使用Windows系统还是Linux系统进行学习都没多大影响的原因之一。
本篇文章主要是为那些想学习Python网络爬虫,但是又不知道从何学起,怎么学下去的朋友而写的。希望通过本篇文章,可以让你对Python网络爬虫的研究路线有一个清晰的了解,这样,本篇文章的目的就达到了,加油!
本文章由作者韦玮原创,转载请注明出处。
❸ 如何在linux ubuntu 下安装scapy pyx
最近在学习爬虫,早就听说Python写爬虫极爽(貌似pythoner说python都爽,不过也确实,python的类库非常丰富,不用重复造轮子),还有一个强大的框架Scrapy,于是决定尝试一下。
要想使用Scrapy第一件事,当然是安装Scrapy,尝试了Windows和Ubuntu的安装,本文先讲一下 Ubuntu的安装,比Windows的安装简单太多了。抽时间也会详细介绍一下怎么在Windows下进行安装。
官方介绍,在安装Scrapy前需要安装一系列的依赖.
* Python 2.7: Scrapy是Python框架,当然要先安装Python ,不过由于Scrapy暂时只支持 Python2.7,因此首先确保你安装的是Python 2.7
* lxml:大多数Linux发行版自带了lxml
* OpenSSL:除了windows之外的系统都已经提供
* Python Package: pip and setuptools. 由于现在pip依赖setuptools,所以安装pip会自动安装setuptools
有上面的依赖可知,在非windows的环境下安装 Scrapy的相关依赖是比较简单的,只用安装pip即可。Scrapy使用pip完成安装。
检查Scrapy依赖是否安装
你可能会不放心自己的电脑是否已经安装了,上面说的已经存在的依赖,那么你可以使用下面的方法检查一下,本文使用的是Ubuntu 14.04。
检查Python的版本
$ python --version
如果看到下面的输出,说明Python的环境已经安装,我这里显示的是Python 2.7.6,版本也是2.7的满足要求。如果没有出现下面的信息,那么请读者自行网络安装Python,本文不介绍Python的安装(网上一搜一堆)。
检查lxml和OpenSSL是否安装
假设已经安装了Python,在控制台输入python,进入Python的交互环境。
然后分别输入import lxml和import OpenSSL如果没有报错,说明两个依赖都已经安装。
安装python-dev和libevent
python-dev是linux上开发python比较重要的工具,以下的情况你需要安装
* 你需要自己安装一个源外的python类库, 而这个类库内含需要编译的调用python api的c/c++文件
* 你自己写的一个程序编译需要链接libpythonXX.(a|so)
libevent是一个时间出发的高性能的网络库,很多框架的底层都使用了libevent
上面两个库是需要安装的,不然后面后报错。使用下面的指令安装
$sudo apt-get install python-dev
$sudo apt-get install libevent-dev
安装pip
因为Scrapy可以使用pip方便的安装,因此我们需要先安装pip,可以使用下面的指令安装pip
$ sudo apt-get install python-pip
使用pip安装Scrapy
使用下面的指令安装Scrapy。
$ sudo pip install scrapy
记住一定要获得root权限,否则会出现下面的错误。
至此scrapy安装完成,使用下面的命令检查Scrapy是否安装成功。
$ scrapy version
显示如下结果说明安装成功,此处的安装版本是1.02
❹ linux下python怎么写爬虫获取图片
跟linux有什么关系,python是跨平台的,爬取图片的代码如下:
import urllib.requestimport osimport randomdef url_open(url):
req=urllib.request.Request(url) #为请求设置user-agent,使得程序看起来更像一个人类
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0') #代理IP,使用户能以不同IP访问,从而防止被服务器发现
'''iplist=['1.193.162.123:8000','1.193.162.91:8000','1.193.163.32:8000']
proxy_support=urllib.request.ProxyHandler({'http':random.choice(iplist)})
opener=urllib.request.build_opener(proxy_support)
opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')]
urllib.request.install_opener(opener)'''
response=urllib.request.urlopen(req)
html=response.read() return htmldef get_page(url):
html=url_open(url).decode('utf-8')
a=html.find('current-comment-page')+23
b=html.find(']',a) #print(html[a:b])
return html[a:b]def find_imgs(url):
html=url_open(url).decode('utf-8')
img_addrs=[]
a=html.find('img src=') while a!=-1:
b=html.find('.jpg',a,a+140) if b!=-1: if html[a+9]!='h':
img_addrs.append('http:'+html[a+9:b+4]) else:
img_addrs.append(html[a+9:b+4]) else:
b=a+9
a=html.find('img src=',b) for each in img_addrs:
print(each+'我的打印') return img_addrsdef save_imgs(folder,img_addrs):
for each in img_addrs: #print('one was saved')
filename=each.split('/')[-1] with open(filename,'wb') as f:
img=url_open(each)
f.write(img)def download_mm(folder='ooxx',pages=10):
os.mkdir(folder)
os.chdir(folder)
url=""
page_num=int(get_page(url)) for i in range(pages):
page_num=page_num-1
page_url=url+'page-'+str(page_num)+'#comments'
img_addrs=find_imgs(page_url)
save_imgs(folder,img_addrs)if __name__=='__main__':
download_mm()
完成
运行结果
❺ Linux/Nginx如何查看搜索引擎蜘蛛爬虫的行为
Linux shell命令
1. 网络蜘蛛爬行的次数
cat access.log | grep Baispider | wc
最左面的数值显示的就是爬行次数。
2. 网络蜘蛛的详细记录(Ctrl C可以终止)
cat access.log | grep Baispider
也可以用下面的命令:
cat access.log | grep Baispider | tail -n 10
cat access.log | grep Baispider | head -n 10
只看最后10条或最前10条,这用就能知道这个日志文件的开始记录的时间和日期。
3. 网络蜘蛛抓取首页的详细记录
cat access.log | grep Baispider | grep “GET / HTTP”
网络蜘蛛好像对首页非常热爱每个钟头都来光顾,而谷歌和雅虎蜘蛛更喜欢内页。
4. 网络蜘蛛派性记录时间点分布
cat access.log | grep “Baispider ” | awk ‘{print $4}'
5. 网络蜘蛛爬行页面按次数降序列表
cat access.log | grep “Baispider ” | awk ‘{print $7}' | sort | uniq -c | sort -r
文中的Baispider 改成Googlebot都可以查看谷歌的数据,鉴于大陆的特殊性,大家应该对网络的log更为关注。
附:(Mediapartners-Google)Google adsense蜘蛛的详细爬行记录
cat access.log | grep Mediapartners
Mediapartners-Google是什么呢?Google adsense广告之所以能与内容相关,因为每个包含着adsense的广告被访问后,很快就有个Mediapartners-Google蜘蛛来到这个页面,所以几分钟后再刷新就能显示相关性广告了,真厉害啊!
ps:linux下nginx如何启用网站日志,查看蜘蛛爬虫
默认的路径是你安装时候指定的
如果用的LNMP之类的安装包
你可以在SHELL下
whereisnginx
找到相应的路径之后
在NGINX下的CONF文件夹里看配置文件,日志文件如果记录了话
在配置文件里有路径的~