这几天学习写爬虫使用 py2 和 py3 但是使用 urllib 的时候问题 urllib2 用 python 获取异常但是使用 python3 的时候不是 urllib 和 urllib2 都打包成 urllib 了吗,结果死活调不了 urlerro,书上都是用 pytjon2 但是像 2 和 3 一起搞各位打来有没有好的方法。
这几天学习写爬虫使用 py2 和 py3 但是使用 urllib 的时候问题 urllib2 用 python 获取异常但是使用 python3 的时候不是 urllib 和 urllib2 都打包成 urllib 了吗,结果死活调不了 urlerro,书上都是用 pytjon2 但是像 2 和 3 一起搞各位打来有没有好的方法。
|
1
我大清亡了吗
|
|
chesterzzyMay 25, 2018
2
合并了就文档啊。
再说 Python3 没有了编码的后顾之忧,写起来不知道有多爽。 再再说,不用 requests 吗? |
|
3
提问请好好组织下语言和使用标点符号,否则只是浪费大家的时间。
|
|
wplctMay 25, 2018
4
requests 了解一下。不过我问一下,服务器怎么安装 python3 环境比较方便
|
|
liwlMay 25, 2018
5
提问请好好组织下语言和使用标点符号,否则只是浪费大家的时间。
|
|
chengxiaoMay 25, 2018
6
各有优势吧
用 2 写的话部署起来比较方便 用 3 写的话不用处理那么多编码问题,3 部署起来稍微有些麻烦些 |
|
vsomeoneMay 25, 2018 via iPhone
7
你这说的是中文吗…
|
|
8
难道还有用 Python2 的嘛?
|
|
Jason0803May 25, 2018
9
一大串看的头晕
|
|
sikaribaMay 25, 2018
10
这年头还有用 py2 的吗。。。
|
|
newmindMay 25, 2018
12
标题改为"话说大家写爬虫有用 python2 的嘛"就正常多了
|
|
wplctMay 25, 2018
13
公司用的是 2.因为部署方便,也没有升级的动力,
|
|
timothyyeMay 25, 2018 via Android
14
直接 3 吧,毕竟 2 马上要退出舞台了
|
|
QzierMay 25, 2018 via iPhone
15
python 2 不是快淘汰了吗?大批的库已经放弃 python2 ?
|
|
locktioncMay 25, 2018
16
一直用 Python 3 写爬虫。
|
|
silhouetteMay 25, 2018 via Android
18
8012 年了
|
|
fyMay 25, 2018
19
大清亡了吗? urllib 这几个库我们不都应该默认无视吗?
|
|
lfzyxMay 25, 2018
20
|
|
soho176May 25, 2018
22
作者:alexsunmiu
链接: https://www.zhihu.com/question/38081354/answer/76689956 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Python 应用的部署是一个很大的话题,至少是比较复杂的事情,现行的方案大多只是解决了某一方面的问题,或者把某个复杂的问题变成了另一个复杂的问题(或另一种复杂)罢了。抛砖引玉,为什么 Python 应用的部署会成为一个问题?这里暂时只谈服务端部署,毕竟 Py 目前在服务端的应用还是居多,PyQt 之流暂不讨论。讨论时主要与 PHP 与 Java 做比较,Ruby 高度类似 Py 不参与,GoLang 等则会编译至二进制可执行文件,可比较性不大。同时的同时,这里。。。只挖坑不管埋,下面这些问题,我也没想明白,尚未找到一个万全之策。那么,为什么 Python 应用的部署会成为一个问题呢?首先的首先,Python 服务端应用的部署处于一个两难的境地,既不像 PHP 那样丢文件到服务器就行,也不像 Java 那样有个标准的规范可以直接打包到 war。造成了部署复杂这一固有印象,同时另一些问题下,导致这个问题更加复杂。1,操作系统问题,PHP 可以非常容易的与 IIS 共处,但 Python 的 IIS 库(虽然貌似只支持 django )似乎已经烂尾了,几乎已经没有人在 windows 下做生产部署了,同时去看看各云服务器厂商,观察他们的 windows server 的销量就知道这个问题有多严重了。但同时 J2EE 在 windows 下依然可以很欢快,很多人认为 PHP 比 Py 更流行的原因在于 windows 下的执行环境。2,需求的多样化加剧了这个问题,py 生态中对于性能的追求很过分,有几多 Py web 框架数得过来吗,每个 web 框架的运行环境甚至原理完全不一样,举栗子,wsgi、uwsgi、fastcgi 都是可以的,django、flask、web.py 、bottle 这些鼎鼎大名的 web 框架还只能简单归于一类,tornado、twisted web 等再归于一类,部署他们与部署 wsgi app 完全不同的,好复杂。甚至的甚至,一个 Web 开发我们将之拆分成 framework、template engine,ORM 等等好些部分,谈到这个问题我只想说,我想静静。 |
|
jinyu121May 25, 2018
23
尽信书不如无书
不如看书后照着自己的想法先 XJB 撸一通,然后找其他资料慢慢完善。 比如这个 [从零开始写一只爬虫 系列]( https://haoyu.love/blogtag/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E5%86%99%E4%B8%80%E5%8F%AA%E7%88%AC%E8%99%AB) 而且……为啥要用 Windows10 …… 人家 Windows98 多流畅啊,资源消耗又少…… |
|
ChenHeliarMay 25, 2018 via Android
24
用 requests 吧,我入手就是 py3
|
|
whoami9894May 25, 2018 via Android
25
什么?我大清亡了?
|
|
ryanz91May 25, 2018
26
requests 挺好的
|
|
cloveriiMay 25, 2018 via Android
27
用 requests 吧…公司还在用 2 估计是迁移成本太高…心累
|
|
ilyhMay 25, 2018
29
request-html 挺好用的啊, 只支持 py3.6+
|
|
manzhiyongMay 25, 2018
30
很少有用 3 的,用 2 吧
|
|
hubqinMay 25, 2018
31
一直用 py3+requests+pymysql
|
|
jyfMay 25, 2018
32
最近给公司写的项目一律用 py3
不知道楼上说的部署问题是啥问题 我真没碰到有部署难的 应该说 跟 py2 没区别啊 装个 pip3 依赖放 requirements.txt 里 讲究的人还要弄个 virtualenv 还有啥? |
|
chengxiaoMay 25, 2018
33
|
|
wwwd0gMay 25, 2018
34
@ChenHeliar
@locktionc @wplct 你们用 requests 的时候,网页读取超时如果解决的?不是链接超时,timeout 默认是链接超时,timeout=(3,9),这样是链接超时 3 秒,读取超时 9 秒,但是我自己测试发现读取超时没啥卵用诶 |
|
DonaidTrumpMay 25, 2018 via iPhone
35
写爬虫还有直接用 urllib 的?
|
|
panpanpanMay 25, 2018 via iPhone
36
都 8102 年了,还在 py2 ?写爬虫当然用 scrapy 啊
|
|
ly529May 25, 2018
37
我用的 2,不知道别人
|
|
AiloliMay 25, 2018 via Android
38
学的就是 3
|
|
exkernelMay 25, 2018
39
py3 的 aiohttp 多好用
|
|
JCZ2MkKb5S8ZX9pqMay 25, 2018
40
自己写了个 request,把常用的功能整合进去,json 完整性、返回错误排除、自动重新请求、代理服务器轮换等等,每次爬用自己的一套。从 2 换到 3 没费太大功夫。
|
|
beforeuwaitMay 25, 2018
41
入门时候是 py2,去公司开始生产就是 py3
|
|
tujinMay 25, 2018
42
8012 年不用 3 ?
|
|
teaserMay 25, 2018
43
现在还是 2...
|
|
ballshapesdsdMay 25, 2018
44
语言表达能力堪忧
|
|
wenzhoouMay 25, 2018 via Android
45
干嘛不用 docker
|
|
weixiangzheMay 25, 2018
46
大学二级 python 都是 3 了。。。
|
|
HopetreeMay 25, 2018
47
不好意思,我只会 requests,只会 Python3,虽然我发现公司的代码还是 Python2
|
|
aaronzjwMay 25, 2018 via iPhone
49
建议看看 k 神的 requests,然后回来重新组织下语言
|
|
encroMay 25, 2018
50
django,scripy,requests,bs 都支持 py3,还有什么理由不用呢?
|
|
mingyunMay 25, 2018
52
肯定用 py3 了 没有烦人的编码问题
|
|
zyxbcdeMay 26, 2018 via Android
53
urllib2 ??这玩意居然还有人用来写爬虫
|
|
ClutchBearMay 26, 2018
55
用 python2 的,
不知道你们对 3.6 的 type hints,也就是类型注解怎么看 反正我在的小公司, 强制使用这个. 定义变量 函数返回值一律使用类型注解. |
|
wizardozMay 26, 2018
56
为什么大家都推荐 requests 而不是 scrapy ?
|
|
RealGMMay 26, 2018
57
别用 2 了 马上不支持维护更新了
|
|
jyfJun 5, 2018
60
@chengxiao 没有 pip3 你不能装一个么?
一行命令的事 你应该不是穿越过来的吧 ``` sudo apt install -y pip3 python3-dev ``` 其他系统也是大同小异啊 我的手机上都直接支持 |