推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
hardman
V2EX  ›  Python

话说大家写爬虫有用 python3 的嘛

  •  
  •   hardman · May 25, 2018 via Android · 9019 views
    This topic created in 3091 days ago, the information mentioned may be changed or developed.

    这几天学习写爬虫使用 py2 和 py3 但是使用 urllib 的时候问题 urllib2 用 python 获取异常但是使用 python3 的时候不是 urllib 和 urllib2 都打包成 urllib 了吗,结果死活调不了 urlerro,书上都是用 pytjon2 但是像 2 和 3 一起搞各位打来有没有好的方法。

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

    ```
    sudo apt install -y pip3 python3-dev
    ```

    其他系统也是大同小异啊 我的手机上都直接支持
    jyf
    jyf
    Jun 5, 2018
    61
    @panpanpan 难道不是 selenium?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1252 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 105ms · UTC 23:45 · PVG 07:45 · LAX 15:45 · JFK 18:45
    ♥ Do have faith in what you're doing.