推荐学习书目
› 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
CriseLYJ
V2EX  ›  Python

各大网站登陆方式, 包括爬虫,麻麻再也不用担心我学习爬虫啦,哈哈

  •  9
     
  •   CriseLYJ · Mar 7, 2019 · 18146 views
    This topic created in 2806 days ago, the information mentioned may be changed or developed.

    python 模拟各大网站登陆方式,以及一些爬虫程序

    • 仅供练习使用,代码注释很详细

    • 收集了一些各大网站登陆方式, 和一些网站的爬虫程序,有的是通过 selenium 登录,有的是通过抓包直接模拟登录,有的是利用 scrapy,希望对小白有所帮助,本项目用于研究和分享各大网站的模拟登陆方式,和爬虫程序,会持续更新。。。

    • 昨天加了个班,对一些老代码进行了重构和测试,大部分都可以用。

    • 欢迎 star

    模拟登录一些常见的网站

    • 如果你有什么比较难登陆的网站,比如发现用了 selenium+webdriver 都还登陆不了的网站,欢迎给我提 issue
    1. requests
    2. selenium
    3. rsa
    4. phantomjs

    项目地址

    Github

    关于

    模拟登陆基本采用的是直接登录或者使用 selenium+webdriver 的方式,有的网站直接登录难度很大,比如 qq 空间,B 站,如果采用 selenium 就相对轻松一些。

    虽然在登录的时候采用的是 selenium,为了效率,我们可以在登录过后得到的 cookie 维护起来,然后调用 requests 或者 scrapy 等进行数据采集,这样数据采集的速度可以得到保证。

    已完成

    tips of pull request

    • 欢迎大家一起来 pull request

    问题

    • 有的验证码需要手动,之后我会尽量改正
    • 代码失效:由于网站策略或者样式改变,导致代码失效,请给我提 issue,如果你已经解决,可以提 PR,谢谢!

    另外

    • 如果你有什么比较难登陆的网站,比如发现用了 selenium+webdriver 都还登陆不了的网站,欢迎给我提 issue
    • 如果该 repo 对大家有帮助,给个 star 鼓励鼓励吧

    欢迎你们

    1. 项目写了一段时间后,发现代码的风格和程序的易用性,可扩展性,代码的可读性,都存在一定的问题,所以接下来最重要的是重构代码,让大家可以更容易的做出一些自己的小功能。
    2. 如果你觉得某个网站的登录很有代表性,欢迎在 issue 中提出

    测试

    Bilibili 自动登录测试正常,成功率 98%

    web 微信

    Alt text

    图虫爬虫

    项目地址

    Github

    最后

    • 大佬们慢点喷,小弟有点承受不住,---_---
    118 replies  •  2019-04-26 00:26:10 +08:00
    1  2  
    ❮ ❯
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019❤️1
    1
    顶一下
    ThunderMonkey
    ThunderMonkey
    Mar 7, 2019
    2
    已 star,正好学习
    zhihaofans
    zhihaofans
    Mar 7, 2019 via Android
    3
    厉害
    kylix
    kylix
    Mar 7, 2019
    4
    顶一下,已 star
    zhila
    zhila
    Mar 7, 2019
    5
    感谢大佬分享
    zhihaofans
    zhihaofans
    Mar 7, 2019 via Android
    6
    Done 的 github 打错了
    CallMeReznov
    CallMeReznov
    Mar 7, 2019
    7
    zhangneww
    zhangneww
    Mar 7, 2019
    8
    支持一下!

    项目里并没有 V2EX 的登录呀?
    senggai
    senggai
    Mar 7, 2019
    9
    妙啊...
    ARhen
    ARhen
    Mar 7, 2019
    10
    厉害
    toono
    toono
    Mar 7, 2019 via iPhone
    11
    优秀
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    12
    多谢支持,真心感谢
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    13
    @zhihaofans 我去改掉,嘻嘻
    hayi
    hayi
    Mar 7, 2019
    14
    @zhangneww 杠精
    hellojay
    hellojay
    Mar 7, 2019
    15
    厉害厉害
    exceloo
    exceloo
    Mar 7, 2019
    16
    验证码是怎么解决的?
    bonfy
    bonfy
    Mar 7, 2019
    17
    好像 repo 里没有 V2 啊,我没看错吧
    coeo91
    coeo91
    Mar 7, 2019 via iPhone
    18
    验证码怎么过的
    newmind
    newmind
    Mar 7, 2019
    19
    这么多网站 也是个强人
    zxcvsh
    zxcvsh
    Mar 7, 2019 via iPhone
    20
    项目没看,但是楼主有自动化识别验证码方面的研究可以单独开贴讲解一下
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    21
    @bonfy 写错了。。。。。。。
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    22
    @zxcvsh 可以的可以的,
    claymore94
    claymore94
    Mar 7, 2019
    23
    验证码看了下是下载验证码图片到本地 input 阻塞,手动输入的
    ByteRan
    ByteRan
    Mar 7, 2019
    24
    666


    mobaidalao
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    25
    还是要你们多多支持,嘻嘻
    Lninn
    Lninn
    Mar 7, 2019 via Android
    26
    不得不承认你很强👍
    fazero
    fazero
    Mar 7, 2019 via iPhone
    27
    雪球网可以吗
    ikw
    ikw
    Mar 7, 2019 via iPhone
    28
    解决了广大爬虫的第一步,有想法
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    29
    @zwpaper 哈哈从头开始
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    30
    我会去尝试你们给我提的建议!
    daydaydayup
    daydaydayup
    Mar 7, 2019 via iPhone
    31
    star 一波
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    32
    @daydaydayup 多谢支持,哈哈😆
    wulin
    wulin
    Mar 7, 2019
    33
    star 支持一波
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    34
    @wulin 感谢感谢
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    35
    评论是怎样加图片的啊啊啊啊啊啊
    exip
    exip
    Mar 7, 2019 via Android
    36
    像微信这种需要手机端扫码的怎么破?
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    37
    @exip 这个你必须要手动扫码哦!
    leesymbol
    leesymbol
    Mar 7, 2019
    38
    谢谢
    xpresslink
    xpresslink
    Mar 7, 2019
    39
    star 为敬。
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    40
    @xpresslink 多谢兄弟
    Etuloser
    Etuloser
    Mar 7, 2019
    41
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    42
    谢谢你们🙏
    martyartrt1
    martyartrt1
    Mar 7, 2019
    43
    1688 搞一个
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    44
    OOK
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    45
    @martyartrt1 可以尝试
    wutiaojian
    wutiaojian
    Mar 7, 2019
    46
    验证码是滑块的,请问有么?
    justff
    justff
    Mar 7, 2019
    47
    淘宝登录脚本 测试结果是
    File "taobao.py", line 32, in login
    login_links.click()
    selenium.common.exceptions.ElementNotVisibleException: Message: element not visi
    ble
    WaJueJiPrince
    WaJueJiPrince
    Mar 7, 2019
    48
    @CriseLYJ 嗨,我看了您的 github 中的采集淘宝的爬虫代码,您采用的是 Sphash 的方式,但是淘宝应该需要登陆才能采集商品页面吧?也就是当我点击一类商品的时候会出现这种页面
    https://i.loli.net/2019/03/07/5c80b61730d91.png
    也就是要求登陆,请问您是怎么解决的呢?而且我在代码中似乎没有看到有关 Cookie 的信息。
    beneo
    beneo
    Mar 7, 2019
    49
    @WaJueJiPrince 我也有同样的疑问,哈哈
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    50
    @wutiaojian bilibili 那个就是
    WaJueJiPrince
    WaJueJiPrince
    Mar 7, 2019
    51
    @beneo 您破解过淘宝登陆的验证码的那个吗?淘宝现在好像又升级了,似乎能检测到 Selenium,您有什么解决方案吗?
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    52
    等我写说明文档
    tikazyq
    tikazyq
    Mar 7, 2019 via iPhone
    53
    支持,可以加入到 crawlab 做测试哈
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    54
    @tikazyq 多谢啦
    Liang
    Liang
    Mar 7, 2019
    55
    大众点评、美团
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    56
    @Liang 比较挑战性哦
    dadama
    dadama
    Mar 7, 2019 via Android
    57
    想问一下淘宝的登录,验证码
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    58
    哈哈
    ligthdawn
    ligthdawn
    Mar 7, 2019
    59
    楼主有试过淘宝登录的吗?公司的电脑,不管上淘宝的哪个商品网页,一律要登录,手动拉滑动条都登录不了。因为前阵子一直在用 selenium 绕过淘宝的登录,也绕不过去,一直提示拉滑动条,后面不了了之。怀疑公司的 ip 给拉进淘宝的恶意名单了,不管上哪个淘宝商品网页就要登录,切到另一个淘宝商品网页又要登录,很烦。楼主有好办法吗?
    littleangel
    littleangel
    Mar 7, 2019
    60
    star 已递给大佬
    woshipanghu
    woshipanghu
    Mar 7, 2019
    61
    美团外卖试试看 挺难搞定的
    jucelin
    jucelin
    Mar 7, 2019
    62
    LZ 试试这个 http://wsjs.saic.gov.cn
    oszlso
    oszlso
    Mar 7, 2019
    63
    登陆 Apple ID
    saltxy
    saltxy
    Mar 7, 2019
    64
    大佬,已 star
    konikoo
    konikoo
    Mar 7, 2019
    65
    淘宝的反爬虫很厉害,不知道 lz 这个的成功率是多少。
    之前查过比较好的解决方案是用 pyppeteer
    konikoo
    konikoo
    Mar 7, 2019
    66
    @ligthdawn 用 pyppeteer, 不要用 selenium,webdriver 一启动就直接被判定为爬虫,之后哪怕手动输入密码都不会验证通过。
    或者玄学一下,用 firefox59.0.2 这个版本。同样的脚本和 selenium。这个版本的火狐绝大概率不会出现反爬虫。
    WaJueJiPrince
    WaJueJiPrince
    Mar 7, 2019
    67
    @konikoo 淘宝的判断 Selenium 的原理是什么呢?
    laoyuan
    laoyuan
    Mar 7, 2019
    68
    没有煎蛋妹子图差评
    konikoo
    konikoo
    Mar 7, 2019
    69
    @WaJueJiPrince 你可以上网搜下,记得是会检查一个属性是不是为真。直接在浏览器的控制台也可以查看,手动启动和 selenium 启动之后的属性是相反的。
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    70
    被禁言了。。。
    ismyyym
    ismyyym
    Mar 7, 2019
    71
    你这个背景颜色,看着字好难受
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    72
    @ismyyym 我争取换一个。。。。哈哈
    aoe2ex
    aoe2ex
    Mar 7, 2019
    73
    加星星,加星星
    whitewolf
    whitewolf
    Mar 7, 2019
    74
    赶紧 star 一下 t
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    75
    @whitewolf 多谢大哥照顾,哈哈
    halfer53
    halfer53
    Mar 7, 2019
    76
    @WaJueJiPrince window.navigator.webdriver === true,当然,这只是最基本的反爬虫
    WaJueJiPrince
    WaJueJiPrince
    Mar 7, 2019
    77
    @halfer53 谢谢 这个看到了 但是感觉淘宝应该不会只是设置了这个
    hiyouli
    hiyouli
    Mar 7, 2019
    78
    哎哟,这个不得了呢。
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019 via iPhone
    79
    多谢支持
    becauseIdo
    becauseIdo
    Mar 7, 2019
    80
    66666
    zhou00
    zhou00
    Mar 7, 2019
    81
    感谢分享
    lance7in
    lance7in
    Mar 7, 2019
    82
    佩服佩服
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019 via iPhone
    83
    多谢支持💗💗
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019 via iPhone
    84
    🙆🏻‍♂️🙆🏻‍♂️🙆🏻‍♂️
    lawler
    lawler
    Mar 7, 2019
    85
    @ligthdawn 你们公司有网监吧。这像是劫持带来的问题。。
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    86
    可以回去再试试
    515576745
    515576745
    Mar 7, 2019
    87
    淘宝那个之前研究过几天,发现用 selenium 基本都是暴毙,不管怎么修改 driver 内部属性淘宝还是能检测出来,直接出来滑动条。期待 lz 更新。~
    另外知乎 lz 是自己分析 js 吗?我看好多网上的爬虫分析都是到 js 这块就放弃了。。
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    88
    @515576745 淘宝确实有点棘手,毕竟是阿里的,全是大佬!
    CriseLYJ
    CriseLYJ
    OP
    Mar 7, 2019
    89
    新增下载网易云的音乐!如果时间够多,我会尝试下载会员音乐!
    CriseLYJ
    CriseLYJ
    OP
    Mar 8, 2019
    90
    帖子不能沉,
    kajweb
    kajweb
    Mar 8, 2019
    91
    https://mp.dayu.com
    这个搞一下?
    lovestudykid
    lovestudykid
    Mar 8, 2019
    92
    有 reCAPTCHA 的登陆怎么搞
    May725
    May725
    Mar 8, 2019
    93
    强啊
    enrolls
    enrolls
    Mar 8, 2019
    94
    关于对无头的检测,@konikoo 提及的 navigator.plugins.length == 0 是特征之一。https://antoinevastel.com/bot%20detection/2017/08/05/detect-chrome-headless.html
    theks
    theks
    Mar 8, 2019 via Android
    95
    不错。如果能持续维护、适配就好了。加油。
    CriseLYJ
    CriseLYJ
    OP
    Mar 8, 2019
    96
    @theks 会持续维护的,
    CriseLYJ
    CriseLYJ
    OP
    Mar 8, 2019
    97
    顶一下
    Sxxiong
    Sxxiong
    Mar 8, 2019
    98
    大佬你好 我是个初学者 想问问 selenium+webdriver 能很好的判断网页加载完成吗 因为看到有时候浏览器标签页 logo 还在 loading 代码执行了登录 另外还有模拟点击的话 怎么避免网络影响 有没有适合初学者看的文档推荐一下
    附一个用 request 没解决的网站: https://eu.battle.net/shop/zh/checkout/key-lookup
    cmlhaha
    cmlhaha
    Mar 8, 2019 via Android
    99
    顶一下,标记
    CriseLYJ
    CriseLYJ
    OP
    Mar 8, 2019
    100
    @cmlhaha 多谢
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   908 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 152ms · UTC 21:16 · PVG 05:16 · LAX 13:16 · JFK 16:16
    ♥ Do have faith in what you're doing.