V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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 · 16849 views
    This topic created in 2615 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
        1
    CriseLYJ  
    OP
       Mar 7, 2019   ❤️ 1
    顶一下
    ThunderMonkey
        2
    ThunderMonkey  
       Mar 7, 2019
    已 star,正好学习
    zhihaofans
        3
    zhihaofans  
       Mar 7, 2019 via Android
    厉害
    kylix
        4
    kylix  
       Mar 7, 2019
    顶一下,已 star
    zhila
        5
    zhila  
       Mar 7, 2019
    感谢大佬分享
    zhihaofans
        6
    zhihaofans  
       Mar 7, 2019 via Android
    Done 的 github 打错了
    CallMeReznov
        7
    CallMeReznov  
       Mar 7, 2019
    zhangneww
        8
    zhangneww  
       Mar 7, 2019
    支持一下!

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


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