1. python爬蟲圖片 在目錄中存在圖片1 跳過該圖片1,繼續寫入圖片2的代碼
給你一個代碼借鑒下:
#!/usr/bin/python3
#-*-coding:utf-8-*-
importrequests
importre
importos
Header={"User-Agent":"Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/38.0.2125.104Safari/537.36"}
defpicture_get(picture_url):
try:
root="E:/pic/"
path=root+url.split('/')[-1]
ifnotos.path.exists(root):#目錄不存在創建目錄
os.mkdir(root)
ifnotos.path.exists(path):#文件不存在則下載
r=requests.get(picture_url,headers=Header)
f=open(path,"wb")
f.write(r.content)
f.close()
print("文件下載成功")
else:
print("文件已經存在")
except:
print("獲取失敗")
2. 新手,用python寫的爬蟲,為什麼出現404
可能是你的header寫的太簡單了,我剛剛也是一直404,因為一開始我的header里只有User-Agent,再加上Accept,Accept-Encoding,Content-Type,Host,Origin,Proxy-Connection,Referer,Upgrade-Insecure-Requests就行了,這些都可以從chrome的開發者工具里直接看,或者用fiddler等工具看。
3. Python爬蟲採集遇到403問題怎麼辦
403是網頁狀態碼,表示訪問拒絕或者禁止訪問。
應該是你觸發到網站的反爬蟲機制了。
解決方法是:
1.偽造報文頭部user-agent(網上有詳細教程不用多說)
2.使用可用代理ip,如果你的代理不可用也會訪問不了
3.是否需要帳戶登錄,使用cookielib模塊登錄帳戶操作
4.如果以上方法還是不行,那麼你的ip已被拉入黑名單靜止訪問了。等一段時間再操作。如果等等了還是不行的話:
使用phatomjs或者selenium模塊試試。
還不行使用scrapy等爬蟲框架看看。
以上都不行,說明這網站反爬機製做的很好,爬不了了,沒法了,不過我覺得很少有這種做得很好的網站
4. 如何使用python解決網站的反爬蟲
1、從用戶請求的Headers反爬蟲是最常見的反爬蟲策略。
偽裝header。很多網站都會對Headers的User-Agent進行檢測,還有一部分網站會對Referer進行檢測(一些資源網站的防盜鏈就是檢測Referer)。如果遇到了這類反爬蟲機制,可以直接在爬蟲中添加Headers,將瀏覽器的User-Agent復制到爬蟲的Headers中;或者將Referer值修改為目標網站域名[評論:往往容易被忽略,通過對請求的抓包分析,確定referer,在程序中模擬訪問請求頭中添加]。對於檢測Headers的反爬蟲,在爬蟲中修改或者添加Headers就能很好的繞過。
2、基於用戶行為反爬蟲
還有一部分網站是通過檢測用戶行為,例如同一IP短時間內多次訪問同一頁面,或者同一賬戶短時間內多次進行相同操作。[這種防爬,需要有足夠多的ip來應對]
(1)、大多數網站都是前一種情況,對於這種情況,使用IP代理就可以解決。可以專門寫一個爬蟲,爬取網上公開的代理ip,檢測後全部保存起來。有了大量代理ip後可以每請求幾次更換一個ip,這在requests或者urllib中很容易做到,這樣就能很容易的繞過第一種反爬蟲。
編寫爬蟲代理:
步驟:
1.參數是一個字典{'類型':'代理ip:埠號'}
proxy_support=urllib.request.ProxyHandler({})
2.定製、創建一個opener
opener=urllib.request.build_opener(proxy_support)
3a.安裝opener
urllib.request.install_opener(opener)
3b.調用opener
opener.open(url)
用大量代理隨機請求目標網站,應對反爬蟲
5. 姣曚笟鐢熷繀鐪婸ython鐖鉶涓婃墜鎶宸
Python蹇閫熶笂鎵嬬殑7澶ф妧宸
Python蹇閫熶笂鎵嬬埇鉶鐨7澶ф妧宸
1銆佸熀鏈鎶撳彇緗戦〉
get鏂規硶
post鏂規硶
2銆佷嬌鐢ㄤ唬鐞咺P
鍦ㄥ紑鍙戠埇鉶榪囩▼涓緇忓父浼氶亣鍒癐P琚灝佹帀鐨勬儏鍐碉紝榪欐椂灝遍渶瑕佺敤鍒
浠g悊IP錛
鍦╱rllib 2鍖呬腑鏈塒roxy Handler綾伙紝 閫氳繃姝ょ被鍙浠ヨ劇疆浠g悊
璁塊棶緗戦〉錛屽備笅浠g爜鐗囨碉細
3銆丆ookies澶勭悊
cookies鏄鏌愪簺緗戠珯涓轟簡杈ㄥ埆鐢ㄦ埛韜浠姐佽繘琛宻ession璺熻釜鑰
鍌ㄥ瓨鍦ㄧ敤鎴鋒湰鍦扮粓絝涓婄殑鏁版嵁(閫氬父緇忚繃鍔犲瘑) 錛 python鎻愪緵浜
cookie lib妯″潡鐢ㄤ簬澶勭悊cookies錛 cookie lib妯″潡鐨勪富瑕佷綔
鐢ㄦ槸鎻愪緵鍙瀛樺偍cookie鐨勫硅薄錛 浠ヤ究浜庝笌urllib 2妯″潡閰嶅悎浣
鐢ㄦ潵璁塊棶Internet璧勬簮銆
浠g爜鐗囨碉細
鍏抽敭鍦ㄤ簬Cookie Jar() 錛 瀹冪敤浜庣$悊HTTP cookie鍊箋佸瓨鍌
HTTP璇鋒眰鐢熸垚鐨刢ookie銆佸悜浼犲嚭鐨凥TTP璇鋒眰娣誨姞cookie
鐨勫硅薄銆傛暣涓猚ookie閮藉瓨鍌ㄥ湪鍐呭瓨涓錛 瀵笴ookie Jar瀹炰緥榪
琛屽瀮鍦懼洖鏀跺悗cookie涔熷皢涓㈠け錛 鎵鏈夎繃紼嬮兘涓嶉渶瑕佸崟鐙鍘繪搷浣
鎵嬪姩娣誨姞cookie錛
4銆佷吉瑁呮垚嫻忚堝櫒
鏌愪簺緗戠珯鍙嶆劅鐖鉶鐨勫埌璁匡紝浜庢槸瀵圭埇鉶涓寰嬫嫆緇濊鋒眰銆傛墍浠ョ敤
urllib 2鐩存帴璁塊棶緗戠珯緇忓父浼氬嚭鐜癏TTP Error 403錛
Forbidden鐨勬儏鍐點
瀵規湁浜沨eader瑕佺壒鍒鐣欐剰錛 Server絝浼氶拡瀵硅繖浜沨eader
鍋氭鏌ワ細
1.User-Agent鏈変簺Server鎴朠roxy浼氭鏌ヨュ礆紝 鐢ㄦ潵鍒
鏂鏄鍚︽槸嫻忚堝櫒鍙戣搗鐨凴equest銆
2.Content-Type鍦ㄤ嬌鐢≧EST鎺ュ彛鏃訛紝 Server浼氭鏌ヨ
鍊礆紝 鐢ㄦ潵紜瀹欻TTP Body涓鐨勫唴瀹硅ユ庢牱瑙f瀽銆
榪欐椂鍙浠ラ氳繃淇鏀筯ttp鍖呬腑鐨刪eader鏉ュ疄鐜幫紝 浠g爜鐗囨靛備笅
5銆侀獙璇佺爜鐨勫勭悊
瀵逛簬涓浜涚畝鍗曠殑楠岃瘉鐮侊紝鍙浠ヨ繘琛岀畝鍗曠殑璇嗗埆銆傛垜浠鍙榪涜岃繃涓
浜涚畝鍗曠殑楠岃瘉鐮佽瘑鍒錛屼絾鏄鏈変簺鍙嶄漢綾葷殑楠岃瘉鐮侊紝姣斿12306
錛屽彲浠ラ氳繃鎵撶爜騫沖彴榪涜屼漢宸ユ墦鐮侊紝褰撶劧榪欐槸瑕佷粯璐圭殑銆
6銆乬zip鍘嬬緝
鏈夋病鏈夐亣鍒拌繃鏌愪簺緗戦〉錛屼笉璁烘庝箞杞鐮侀兘鏄涓鍥涔辯爜銆傚搱鍝堬紝閭
璇存槑浣犺繕涓嶇煡閬撹稿歸eb鏈嶅姟鍏鋒湁鍙戦佸帇緙╂暟鎹鐨勮兘鍔涳紝 榪欏彲
浠ュ皢緗戠粶綰胯礬涓婁紶杈撶殑澶ч噺鏁版嵁娑堝噺60%浠ヤ笂銆傝繖灝ゅ叾閫傜敤浜
XML web鏈嶅姟錛 鍥犱負XML鏁版嵁鐨勫帇緙╃巼鍙浠ュ緢楂樸
浣嗘槸涓鑸鏈嶅姟鍣ㄤ笉浼氫負浣犲彂閫佸帇緙╂暟鎹錛岄櫎闈炰綘鍛婅瘔鏈嶅姟鍣ㄤ綘鍙
浠ュ勭悊鍘嬬緝鏁版嵁銆
浜庢槸闇瑕佽繖鏍蜂慨鏀逛唬鐮侊細
榪欐槸鍏抽敭錛氬壋寤篟equest瀵硅薄錛 娣誨姞涓涓獮ccept-
encoding澶翠俊鎮鍛婅瘔鏈嶅姟鍣ㄤ綘鑳芥帴鍙梘zip鍘嬬緝鏁版嵁銆
鐒跺悗灝辨槸瑙e帇緙╂暟鎹錛
7銆佸氱嚎紼嬪苟鍙戞姄鍙
鍗曠嚎紼嬪お鎱㈢殑璇濓紝灝遍渶瑕佸氱嚎紼嬩簡錛岃繖閲岀粰涓綆鍗曠殑綰跨▼奼犳ā鏉
榪欎釜紼嬪簭鍙鏄綆鍗曞湴鎵撳嵃浜1-10錛屼絾鏄鍙浠ョ湅鍑烘槸騫跺彂鐨勩
鉶界劧璇碢ython鐨勫氱嚎紼嬪緢楦¤倠錛 浣嗘槸瀵逛簬鐖鉶榪欑嶇綉緇滈戠箒鍨
錛岃繕鏄鑳戒竴瀹氱▼搴︽彁楂樻晥鐜囩殑銆
6. python 爬蟲headers 怎麼寫
參考chrome瀏覽器調試模式(F12)下,NetWork下請求的headers參數。
主要有:
User-Agent:
Accept:
Accept-Encoding:
Accept-Language: