一个很水的Python代码分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"一个很水的Python代码分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"一个很水的Python代码分析"吧!# _ * _编码:UT
千家信息网最后更新 2026年11月02日一个很水的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安全错误
数据库的锁怎样保障安全
湖北九亚互联网络科技有限公司
互联网未来科技
紫鲸互联网科技
安徽鑫晟辉互联网科技
万达互联网科技
上游互联网科技
左右互联网络科技
顺网科技2021年互联网排名
互联网和黑科技的看法
搜狐科技互联网
互联网媒体平台算高科技产业
高科技互联网套路
互联网科技年终奖
半导体是互联网高科技吗
陕西云淼互联网科技公司
万物互联网智能科技
互联网科技职业技能培训学校
互联网对科技影响
陕西彩京云互联网科技有限公司
10位科技互联网大佬
互联网黑科技
上海睿民互联网科技有限公司
云之行互联网科技
互联网高科技企业
互联网前沿科技
中国互联网有什么科技含量
湖北码尼互联网科技有限公司电话
互联网保险科技创业
乌鲁木齐新华智原互联网科技学校
北京天晋互联网科技有限公司