一个很水的Python代码分析
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,本篇内容主要讲解"一个很水的Python代码分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"一个很水的Python代码分析"吧!# _ * _编码:UT
千家信息网最后更新 2025年11月12日一个很水的Python代码分析
本篇内容主要讲解"一个很水的Python代码分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"一个很水的Python代码分析"吧!
# _ * _编码:UTF-8 _ * _"""xianhu的python_spider.py"""导入请求import urllib.errorimport urllib.parseimport urllib.request导入 http.cookiejar
第一段
#首先定义下边可能需要的变量url = " https://www.baidu.com "headers = { " User-Agent ":" Mozilla / 4.0(兼容; MSIE 5.5; Windows NT)" }#最简单的网页抓取方式response = urllib.request.urlopen(url,timeout = 10)html = response.read()。decode(" utf-8 ")#使用请求实例代替网址request = urllib.request.Request(url,data = None,headers = {})response = urllib.request.urlopen(request,timeout = 10)第二段
#发送数据,即在请求()中添加数据参数data = urllib.parse.urlencode({ " act ":" login "," email ":" xianhu@qq.com "," password ":" 123456 " })request1 = urllib.request.Request(URL,数据=数据) # POST方法请求2 = urllib.request.Request(URL + "?%S " %数据) # GET方法response = urllib.request.urlopen(request,timeout = 10)#发送报头,即在请求()中添加报头参数request = urllib.request.Request(url,data = data,headers = headers) #参数中添加header参数request.add_header(" Referer "," http://www.baidu.com ") #另一种添加header的方式,添加Referer是为了应对"反盗链"response = urllib.request.urlopen(request,timeout = 10)第三段
#网页抓取引发异常:urllib.error.HTTPError,urllib.error.URLError,两者存在继承关系尝试: urllib.request.urlopen(request,timeout = 10)除了 urllib.error.HTTPError 为 e: 打印(e.code,e.reason)除了 urllib.error.URLError 为 e: 打印(e.errno,e.reason)#使用代理,以防止IP被封或IP次数受限:proxy_handler = urllib.request.ProxyHandler(proxies = { " http ":" 111.123.76.12:8080 " })opener = urllib.request.build_opener(proxy_handler) #利用代理创建opener实例响应= opener.open(URL) #直接利用开启器实例打开URLurllib.request.install_opener(opener) #安装全局opener,然后利用urlopen打开网址response = urllib.request.urlopen(url)第四段
#使用饼干和cookiejar,应对服务器检查cookie_jar = http.cookiejar.CookieJar()cookie_jar_handler = urllib.request.HTTPCookieProcessor(cookiejar = cookie_jar)opener = urllib.request.build_opener(cookie_jar_handler)response = opener.open(url)#发送在浏览器中获取的饼干,两种方式:#(1)直接放到headers里headers = { " User-Agent ": " Mozilla / 4.0(兼容; MSIE 5.5; Windows NT)", " Cookie ": " PHPSESSID = btqkg9amjrtoeev8coq0m78396; USERINFO = n6nxTHTY%2BJA39z6CpNB4eKN8f0KsYLjAQTwPe%2BhLHLruEbjaeh5ulhWAS5RysUM%2B; "}request = urllib.request.Request(url,headers = headers)#(2)构建cookie,添加到cookiejar中cookie = http.cookiejar.Cookie(name = " xx ",value = " xx ",domain = " xx ",...)cookie_jar.set_cookie(饼干)response = opener.open(url)#同时使用代理和cookiejaropener = urllib.request.build_opener(cookie_jar_handler)opener.add_handler(proxy_handler)response = opener.open(" https://www.baidu.com/ ")#抓取网页中的图片:同样适用于抓取网络上的文件右击鼠标,找到图片属性中的地址,然后进行保存。response = urllib.request.urlopen(" http://ww3.sinaimg.cn/large/7d742c99tw1ee7dac2766j204q04qmxq.jpg ",超时= 120)使用 open(" test.jpg "," wb ")作为 file_img: file_img.write(response.read())# HTTP认证:即HTTP身份验证password_mgr = urllib.request.HTTPPasswordMgrWithDefaultRealm() #创建一个PasswordMgrpassword_mgr.add_password(realm = None,uri = url,user = ' username ',passwd = ' password ') #添加用户名和密码handler = urllib.request.HTTPBasicAuthHandler(password_mgr) #创建HTTPBasicAuthHandleropener = urllib.request.build_opener(handler) #创建opnerresponse = opener.open(url,timeout = 10) #获取数据#使用套接字代理进口袜子导入套接字socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5," 127.0.0.1 ",1080)socket.socket = socks.socksocketrequests.get(" http://www.baidu.com/s?ie=utf-8&wd=ip ")
到此,相信大家对"一个很水的Python代码分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数据
参数
代理
代码
分析
实例
方式
方法
网页
饼干
内容
图片
套接字
报头
网址
学习
实用
更深
代理进口
全局
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
超赢收银软件数据库打不开
数据库设计教材购销
开展网络安全手抄报评比活动
网络安全保管方法
汉阳好的软件开发团队
管理网络安全专业
央视网5G网络技术
武汉手机云控软件开发商
鹏华网络技术
2000的数据库怎么安装
网警怎么开展网络安全巡查
临沂微信小程序软件开发哪家便宜
网络安全应急预案管理体系
上海网络安全股票
日韩连接网络安全吗
天行加速器服务器地址
空间建模软件开发
数据库int类型为空
东莞pc软件开发公司
主机和服务器有什么区别
网络服务器和电信运营商怎么连接
鹏城科技互联网公司
郑州软件开发哪家强
湖北企业软件开发哪家正规
民生银行 网络安全
中央网络安全第二次会议
孔林 碑刻数据库
安徽数据网络技术服务保障
去除数据库中的重复想
诛仙连接服务器失败