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: