各大网站登陆方式, 包括爬虫,麻麻再也不用担心我学习爬虫啦,哈哈 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 2019-03-07 10:01:18 +08:00 16076 次点击
    这是一个创建于 2419 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条回复    2019-04-26 00:26:10 +08:00
    1  2  
    CriseLYJ
        1
    CriseLYJ  
    OP
       2019-03-07 10:09:29 +08:00   1
    顶一下
    ThunderMonkey
        2
    ThunderMonkey  
       2019-03-07 10:10:10 +08:00
    已 star,正好学习
    zhihaofans
        3
    zhihaofans  
       2019-03-07 10:10:28 +08:00 via Android
    厉害
    kylix
        4
    kylix  
       2019-03-07 10:12:19 +08:00
    顶一下,已 star
    zhila
        5
    zhila  
       2019-03-07 10:12:46 +08:00
    感谢大佬分享
    zhihaofans
        6
    zhihaofans  
       2019-03-07 10:13:13 +08:00 via Android
    Done 的 github 打错了
    CallMeReznov
        7
    CallMeReznov  
       2019-03-07 10:14:52 +08:00
    zhangneww
        8
    zhangneww  
       2019-03-07 10:22:34 +08:00
    支持一下!

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


    mobaidalao
    CriseLYJ
        25
    CriseLYJ  
    OP
       2019-03-07 11:37:23 +08:00
    还是要你们多多支持,嘻嘻
    Lninn
        26
    Lninn  
       2019-03-07 12:26:52 +08:00 via Android
    不得不承认你很强
    fazero
        27
    fazero  
       2019-03-07 12:33:42 +08:00 via iPhone
    雪球网可以吗
    ikw
        28
    ikw  
       2019-03-07 12:39:14 +08:00 via iPhone
    解决了广大爬虫的第一步,有想法
    CriseLYJ
        29
    CriseLYJ  
    OP
       2019-03-07 12:59:11 +08:00
    @zwpaper 哈哈从头开始
    CriseLYJ
        30
    CriseLYJ  
    OP
       2019-03-07 12:59:30 +08:00
    我会去尝试你们给我提的建议!
    daydaydayup
        31
    daydaydayup  
       2019-03-07 13:00:21 +08:00 via iPhone
    star 一波
    CriseLYJ
        32
    CriseLYJ  
    OP
       2019-03-07 13:00:49 +08:00
    @daydaydayup 多谢支持,哈哈
    wulin
        33
    wulin  
       2019-03-07 13:15:55 +08:00
    star 支持一波
    CriseLYJ
        34
    CriseLYJ  
    OP
       2019-03-07 13:21:05 +08:00
    @wulin 感谢感谢
    CriseLYJ
        35
    CriseLYJ  
    OP
       2019-03-07 13:22:08 +08:00
    评论是怎样加图片的啊啊啊啊啊啊
    exip
        36
    exip  
       2019-03-07 13:27:30 +08:00 via Android
    像微信这种需要手机端扫码的怎么破?
    CriseLYJ
        37
    CriseLYJ  
    OP
       2019-03-07 13:34:22 +08:00
    @exip 这个你必须要手动扫码哦!
    leesymbol
        38
    leesymbol  
       2019-03-07 13:41:59 +08:00
    谢谢
    xpresslink
        39
    xpresslink  
       2019-03-07 13:45:23 +08:00
    star 为敬。
    CriseLYJ
        40
    CriseLYJ  
    OP
       2019-03-07 13:55:54 +08:00
    @xpresslink 多谢兄弟
    Etuloser
        41
    Etuloser  
       2019-03-07 13:57:40 +08:00
    CriseLYJ
        42
    CriseLYJ  
    OP
       2019-03-07 14:01:47 +08:00
    谢谢你们
    martyartrt1
        43
    martyartrt1  
       2019-03-07 14:05:15 +08:00
    1688 搞一个
    CriseLYJ
        44
    CriseLYJ  
    OP
       2019-03-07 14:09:24 +08:00
    OOK
    CriseLYJ
        45
    CriseLYJ  
    OP
       2019-03-07 14:09:54 +08:00
    @martyartrt1 可以尝试
    wutiaojian
        46
    wutiaojian  
       2019-03-07 14:12:13 +08:00
    验证码是滑块的,请问有么?
    justff
        47
    justff  
       2019-03-07 14:13:46 +08:00
    淘宝登录脚本 测试结果是
    File "taobao.py", line 32, in login
    login_links.click()
    selenium.common.exceptions.ElementNotVisibleException: Message: element not visi
    ble
    WaJueJiPrince
        48
    WaJueJiPrince  
       2019-03-07 14:14:18 +08:00
    @CriseLYJ 嗨,我看了您的 github 中的采集淘宝的爬虫代码,您采用的是 Sphash 的方式,但是淘宝应该需要登陆才能采集商品页面吧?也就是当我点击一类商品的时候会出现这种页面
    https://i.loli.net/2019/03/07/5c80b61730d91.png
    也就是要求登陆,请问您是怎么解决的呢?而且我在代码中似乎没有看到有关 Cookie 的信息。
    beneo
        49
    beneo  
       2019-03-07 14:18:05 +08:00
    @WaJueJiPrince 我也有同样的疑问,哈哈
    CriseLYJ
        50
    CriseLYJ  
    OP
       2019-03-07 14:22:21 +08:00
    @wutiaojian bilibili 那个就是
    WaJueJiPrince
        51
    WaJueJiPrince  
       2019-03-07 14:31:01 +08:00
    @beneo 您破解过淘宝登陆的验证码的那个吗?淘宝现在好像又升级了,似乎能检测到 Selenium,您有什么解决方案吗?
    CriseLYJ
        52
    CriseLYJ  
    OP
       2019-03-07 14:35:25 +08:00
    等我写说明文档
    tikazyq
        53
    tikazyq  
       2019-03-07 14:45:20 +08:00 via iPhone
    支持,可以加入到 crawlab 做测试哈
    CriseLYJ
        54
    CriseLYJ  
    OP
       2019-03-07 14:49:26 +08:00
    @tikazyq 多谢啦
    Liang
        55
    Liang  
       2019-03-07 14:52:13 +08:00
    大众点评、美团
    CriseLYJ
        56
    CriseLYJ  
    OP
       2019-03-07 14:52:52 +08:00
    @Liang 比较挑战性哦
    dadama
        57
    dadama  
       2019-03-07 14:52:59 +08:00 via Android
    想问一下淘宝的登录,验证码
    CriseLYJ
        58
    CriseLYJ  
    OP
       2019-03-07 14:53:00 +08:00
    哈哈
    ligthdawn
        59
    ligthdawn  
       2019-03-07 15:18:56 +08:00
    楼主有试过淘宝登录的吗?公司的电脑,不管上淘宝的哪个商品网页,一律要登录,手动拉滑动条都登录不了。因为前阵子一直在用 selenium 绕过淘宝的登录,也绕不过去,一直提示拉滑动条,后面不了了之。怀疑公司的 ip 给拉进淘宝的恶意名单了,不管上哪个淘宝商品网页就要登录,切到另一个淘宝商品网页又要登录,很烦。楼主有好办法吗?
    littleangel
        60
    littleangel  
       2019-03-07 15:19:29 +08:00
    star 已递给大佬
    woshipanghu
        61
    woshipanghu  
       2019-03-07 15:20:55 +08:00
    美团外卖试试看 挺难搞定的
    jucelin
        62
    jucelin  
       2019-03-07 16:03:46 +08:00
    LZ 试试这个 http://wsjs.saic.gov.cn
    oszlso
        63
    oszlso  
       2019-03-07 16:12:19 +08:00
    登陆 Apple ID
    saltxy
        64
    saltxy  
       2019-03-07 16:34:37 +08:00
    大佬,已 star
    konikoo
        65
    konikoo  
       2019-03-07 16:35:43 +08:00
    淘宝的反爬虫很厉害,不知道 lz 这个的成功率是多少。
    之前查过比较好的解决方案是用 pyppeteer
    konikoo
        66
    konikoo  
       2019-03-07 16:39:19 +08:00
    @ligthdawn 用 pyppeteer, 不要用 selenium,webdriver 一启动就直接被判定为爬虫,之后哪怕手动输入密码都不会验证通过。
    或者玄学一下,用 firefox59.0.2 这个版本。同样的脚本和 selenium。这个版本的火狐绝大概率不会出现反爬虫。
    WaJueJiPrince
        67
    WaJueJiPrince  
       2019-03-07 16:45:53 +08:00
    @konikoo 淘宝的判断 Selenium 的原理是什么呢?
    laoyuan
        68
    laoyuan  
       2019-03-07 16:55:33 +08:00
    没有煎蛋妹子图差评
    konikoo
        69
    konikoo  
       2019-03-07 17:04:08 +08:00
    @WaJueJiPrince 你可以上网搜下,记得是会检查一个属性是不是为真。直接在浏览器的控制台也可以查看,手动启动和 selenium 启动之后的属性是相反的。
    CriseLYJ
        70
    CriseLYJ  
    OP
       2019-03-07 17:18:23 +08:00
    被禁言了。。。
    ismyyym
        71
    ismyyym  
       2019-03-07 17:23:25 +08:00
    你这个背景颜色,看着字好难受
    CriseLYJ
        72
    CriseLYJ  
    OP
       2019-03-07 17:24:21 +08:00
    @ismyyym 我争取换一个。。。。哈哈
    aoe2ex
        73
    aoe2ex  
       2019-03-07 17:27:03 +08:00
    加星星,加星星
    whitewolf
        74
    whitewolf  
       2019-03-07 17:28:50 +08:00
    赶紧 star 一下 t
    CriseLYJ
        75
    CriseLYJ  
    OP
       2019-03-07 17:31:51 +08:00
    @whitewolf 多谢大哥照顾,哈哈
    halfer53
        76
    halfer53  
       2019-03-07 17:38:32 +08:00
    @WaJueJiPrince window.navigator.webdriver === true,当然,这只是最基本的反爬虫
    WaJueJiPrince
        77
    WaJueJiPrince  
       2019-03-07 17:40:23 +08:00
    @halfer53 谢谢 这个看到了 但是感觉淘宝应该不会只是设置了这个
    hiyouli
        78
    hiyouli  
       2019-03-07 17:49:18 +08:00
    哎哟,这个不得了呢。
    CriseLYJ
        79
    CriseLYJ  
    OP
       2019-03-07 18:06:20 +08:00 via iPhone
    多谢支持
    becauseIdo
        80
    becauseIdo  
       2019-03-07 18:07:51 +08:00
    66666
    zhou00
        81
    zhou00  
       2019-03-07 18:45:49 +08:00
    感谢分享
    lance7in
        82
    lance7in  
       2019-03-07 19:29:59 +08:00
    佩服佩服
    CriseLYJ
        83
    CriseLYJ  
    OP
       2019-03-07 20:38:04 +08:00 via iPhone
    多谢支持
    CriseLYJ
        84
    CriseLYJ  
    OP
       2019-03-07 21:04:36 +08:00 via iPhone
    ♂♂♂
    lawler     85
    lawler  
       2019-03-07 21:39:06 +08:00
    @ligthdawn 你们公司有网监吧。这像是劫持带来的问题。。
    CriseLYJ
        86
    CriseLYJ  
    OP
       2019-03-07 21:40:27 +08:00
    可以回去再试试
    515576745
        87
    515576745  
       2019-03-07 22:17:45 +08:00
    淘宝那个之前研究过几天,发现用 selenium 基本都是暴毙,不管怎么修改 driver 内部属性淘宝还是能检测出来,直接出来滑动条。期待 lz 更新。~
    另外知乎 lz 是自己分析 js 吗?我看好多网上的爬虫分析都是到 js 这块就放弃了。。
    CriseLYJ
        88
    CriseLYJ  
    OP
       2019-03-07 22:19:50 +08:00
    @515576745 淘宝确实有点棘手,毕竟是阿里的,全是大佬!
    CriseLYJ
        89
    CriseLYJ  
    OP
       2019-03-07 22:39:33 +08:00
    新增下载网易云的音乐!如果时间够多,我会尝试下载会员音乐!
    CriseLYJ
        90
    CriseLYJ  
    OP
       2019-03-08 00:07:53 +08:00
    帖子不能沉,
    kajweb
        91
    kajweb  
       2019-03-08 00:30:53 +08:00
    https://mp.dayu.com
    这个搞一下?
    lovestudykid
        92
    lovestudykid  
       2019-03-08 01:07:47 +08:00
    有 reCAPTCHA 的登陆怎么搞
    May725
        93
    May725  
       2019-03-08 01:08:05 +08:00
    强啊
    enrolls
        94
    enrolls  
       2019-03-08 01:41:38 +08:00
    关于对无头的检测,@konikoo 提及的 navigator.plugins.length == 0 是特征之一。https://antoinevastel.com/bot%20detection/2017/08/05/detect-chrome-headless.html
    theks
        95
    theks  
       2019-03-08 02:39:58 +08:00 via Android
    不错。如果能持续维护、适配就好了。加油。
    CriseLYJ
        96
    CriseLYJ  
    OP
       2019-03-08 08:55:14 +08:00
    @theks 会持续维护的,
    CriseLYJ
        97
    CriseLYJ  
    OP
       2019-03-08 09:58:50 +08:00
    顶一下
    Sxxiong
        98
    Sxxiong  
       2019-03-08 10:02:05 +08:00
    大佬你好 我是个初学者 想问问 selenium+webdriver 能很好的判断网页加载完成吗 因为看到有时候浏览器标签页 logo 还在 loading 代码执行了登录 另外还有模拟点击的话 怎么避免网络影响 有没有适合初学者看的文档推荐一下
    附一个用 request 没解决的网站: https://eu.battle.net/shop/zh/checkout/key-lookup
    cmlhaha
        99
    cmlhaha  
       2019-03-08 10:07:08 +08:00 via Android
    顶一下,标记
    CriseLYJ
        100
    CriseLYJ  
    OP
       2019-03-08 10:31:09 +08:00
    @cmlhaha 多谢
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2955 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 13:28 PVG 21:28 LAX 06:28 JFK 09:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86