这几天学习写爬虫使用 py2 和 py3 但是使用 urllib 的时候问题 urllib2 用 python 获取异常但是使用 python3 的时候不是 urllib 和 urllib2 都打包成 urllib 了吗,结果死活调不了 urlerro,书上都是用 pytjon2 但是像 2 和 3 一起搞各位打来有没有好的方法。
1
lifeishort 2018-05-25 08:22:25 +08:00 via iPhone 1
我大清亡了吗
|
2
chesterzzy 2018-05-25 08:27:04 +08:00
合并了就文档啊。
再说 Python3 没有了编码的后顾之忧,写起来不知道有多爽。 再再说,不用 requests 吗? |
3
Sylv 2018-05-25 08:44:25 +08:00 via iPhone 2
提问请好好组织下语言和使用标点符号,否则只是浪费大家的时间。
|
4
wplct 2018-05-25 08:53:15 +08:00
requests 了解一下。不过我问一下,服务器怎么安装 python3 环境比较方便
|
5
liwl 2018-05-25 08:55:22 +08:00
提问请好好组织下语言和使用标点符号,否则只是浪费大家的时间。
|
6
chengxiao 2018-05-25 08:57:27 +08:00
各有优势吧
用 2 写的话部署起来比较方便 用 3 写的话不用处理那么多编码问题,3 部署起来稍微有些麻烦些 |
7
vsomeone 2018-05-25 09:02:21 +08:00 via iPhone
你这说的是中文吗…
|
8
holajamc 2018-05-25 09:06:25 +08:00 4
难道还有用 Python2 的嘛?
|
9
Jason0803 2018-05-25 09:08:23 +08:00
一大串看的头晕
|
10
sikariba 2018-05-25 09:08:24 +08:00
这年头还有用 py2 的吗。。。
|
12
newmind 2018-05-25 09:15:43 +08:00
标题改为"话说大家写爬虫有用 python2 的嘛"就正常多了
|
13
wplct 2018-05-25 09:17:37 +08:00
公司用的是 2.因为部署方便,也没有升级的动力,
|
14
timothyye 2018-05-25 09:18:14 +08:00 via Android
直接 3 吧,毕竟 2 马上要退出舞台了
|
15
Qzier 2018-05-25 09:22:55 +08:00 via iPhone
python 2 不是快淘汰了吗?大批的库已经放弃 python2 ?
|
16
locktionc 2018-05-25 09:25:25 +08:00
一直用 Python 3 写爬虫。
|
18
silhouette 2018-05-25 09:42:27 +08:00 via Android
8012 年了
|
19
fy 2018-05-25 09:48:44 +08:00
大清亡了吗? urllib 这几个库我们不都应该默认无视吗?
|
20
lfzyx 2018-05-25 09:51:40 +08:00
|
22
soho176 2018-05-25 09:59:10 +08:00
作者: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 等等好些部分,谈到这个问题我只想说,我想静静。 |
23
jinyu121 2018-05-25 10:22:27 +08:00
尽信书不如无书
不如看书后照着自己的想法先 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 多流畅啊,资源消耗又少…… |
24
ChenHeliar 2018-05-25 10:27:49 +08:00 via Android
用 requests 吧,我入手就是 py3
|
25
whoami9894 2018-05-25 10:32:45 +08:00 via Android
什么?我大清亡了?
|
26
ryanz91 2018-05-25 10:36:05 +08:00
requests 挺好的
|
27
cloverii 2018-05-25 10:37:20 +08:00 via Android
用 requests 吧…公司还在用 2 估计是迁移成本太高…心累
|
29
ilyh 2018-05-25 10:49:15 +08:00
request-html 挺好用的啊, 只支持 py3.6+
|
30
manzhiyong 2018-05-25 10:58:04 +08:00
很少有用 3 的,用 2 吧
|
31
hubqin 2018-05-25 11:02:09 +08:00
一直用 py3+requests+pymysql
|
32
jyf 2018-05-25 11:47:16 +08:00
最近给公司写的项目一律用 py3
不知道楼上说的部署问题是啥问题 我真没碰到有部署难的 应该说 跟 py2 没区别啊 装个 pip3 依赖放 requirements.txt 里 讲究的人还要弄个 virtualenv 还有啥? |
33
chengxiao 2018-05-25 11:55:28 +08:00
|
34
wwwd0g 2018-05-25 12:09:14 +08:00
@ChenHeliar
@locktionc @wplct 你们用 requests 的时候,网页读取超时如果解决的?不是链接超时,timeout 默认是链接超时,timeout=(3,9),这样是链接超时 3 秒,读取超时 9 秒,但是我自己测试发现读取超时没啥卵用诶 |
35
tulongtou 2018-05-25 12:13:52 +08:00 via iPhone
写爬虫还有直接用 urllib 的?
|
36
panpanpan 2018-05-25 12:15:58 +08:00 via iPhone
都 8102 年了,还在 py2 ?写爬虫当然用 scrapy 啊
|
37
ly529 2018-05-25 14:55:26 +08:00
我用的 2,不知道别人
|
38
Ailoli 2018-05-25 14:57:44 +08:00 via Android
学的就是 3
|
39
exkernel 2018-05-25 15:42:42 +08:00
py3 的 aiohttp 多好用
|
40
JCZ2MkKb5S8ZX9pq 2018-05-25 16:09:56 +08:00
自己写了个 request,把常用的功能整合进去,json 完整性、返回错误排除、自动重新请求、代理服务器轮换等等,每次爬用自己的一套。从 2 换到 3 没费太大功夫。
|
41
beforeuwait 2018-05-25 16:17:23 +08:00
入门时候是 py2,去公司开始生产就是 py3
|
42
tujin 2018-05-25 17:24:16 +08:00
8012 年不用 3 ?
|
43
teaser 2018-05-25 17:44:01 +08:00
现在还是 2...
|
44
ballshapesdsd 2018-05-25 17:47:06 +08:00
语言表达能力堪忧
|
45
wenzhoou 2018-05-25 18:59:29 +08:00 via Android
干嘛不用 docker
|
46
weixiangzhe 2018-05-25 20:46:05 +08:00
大学二级 python 都是 3 了。。。
|
47
Hopetree 2018-05-25 20:50:47 +08:00
不好意思,我只会 requests,只会 Python3,虽然我发现公司的代码还是 Python2
|
49
aaronzjw 2018-05-25 22:49:07 +08:00 via iPhone
建议看看 k 神的 requests,然后回来重新组织下语言
|
50
encro 2018-05-25 22:59:44 +08:00
django,scripy,requests,bs 都支持 py3,还有什么理由不用呢?
|
52
mingyun 2018-05-25 23:42:03 +08:00
肯定用 py3 了 没有烦人的编码问题
|
53
zyxbcde 2018-05-26 02:07:34 +08:00 via Android
urllib2 ??这玩意居然还有人用来写爬虫
|
55
ClutchBear 2018-05-26 03:01:41 +08:00
用 python2 的,
不知道你们对 3.6 的 type hints,也就是类型注解怎么看 反正我在的小公司, 强制使用这个. 定义变量 函数返回值一律使用类型注解. |
56
wizardoz 2018-05-26 12:06:58 +08:00
为什么大家都推荐 requests 而不是 scrapy ?
|
57
RealGM 2018-05-26 12:43:04 +08:00
别用 2 了 马上不支持维护更新了
|
58
julyclyde 2018-05-26 12:53:59 +08:00
@wizardoz 这俩完全不是一个方面的东西。大家推荐 requests 并不代表不推荐 scrapy,都是你自己脑补的
|
60
jyf 2018-06-05 16:30:47 +08:00
@chengxiao 没有 pip3 你不能装一个么?
一行命令的事 你应该不是穿越过来的吧 ``` sudo apt install -y pip3 python3-dev ``` 其他系统也是大同小异啊 我的手机上都直接支持 |