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
allencode
V2EX  ›  Python

小弟开源了一个 Python 爬虫+App 的应用,欢迎围观一波。

  •  
  •   allencode · 2016-07-26 10:50:07 +08:00 · 10935 次点击
    这是一个创建于 3043 天前的主题,其中的信息可能已经有所发展或是发生改变。

    One

    • 该应用内容灵感来源于 One 应用。界面设计为自己所构思,遵循 Materfial Design 风格。 App 端项目的主体架构为 MVP + Dagger2 , 用 Realm 作为本地数据库存储。后台数据是来自于 One 官方网站以及素锦网站,用 Python 爬虫爬取存储在 LeanCloud 后台。
    • 如果你有兴趣 Clone 代码,需要注册申请 LeanCloud 的 ID 和 Key 以及 Bugly 的 ID 填入到 AppConstant 中。当然 Python 爬虫代码也需要填入 key 和 ID 。
    • 项目是我实习期间,每天下班自己利用晚上休息时间写一点。但是后来越来越控制不住,越写越多。所以将其开源出来。

    项目地址

    Crawler

    爬虫代码你可以在这里看到:

    Sample

    戳这里体验一下

    Contribution

    由于自己暑期实习不是 Android 开发这块。所以并不能把大量时间花在这上面。项目虽然主体架构以及主要功能完成,但是可以扩展的地方蛮多的:

    • 夜间模式以及主体换肤,这一块可能稍微麻烦点,因为要配置一些暗黑图标字体等。AppCompat v23.2 - 夜间模式最佳实践
    • 问答界面的优化设计。主要要做的就是加上评论以及点赞功能。这个比较简单,具体你可以参考文章界面的对应功能实现。
    • 利用 LeanCloud 提供的登录注册功能。实现不同用户使用,评论,点赞等功能。
    • 分享选项以及保存功能。这些也是比较简单的功能。

    Open source library

    • EasyRecyclerView 替代 RV 来实现高度解耦简洁。
    • Glide 图片加载库。
    • Dagger2 实现依赖注入。
    • Realm 轻量级数据库。
    • SwipeBackHelper 实现类微信的侧滑返回效果。
    • Bugly 腾讯的远程 Bugly 统计,实时监控你的应用异常信息。

    ScreenShot

    38 条回复    2016-08-02 17:11:18 +08:00
    seewhy
        1
    seewhy  
       2016-07-26 10:52:31 +08:00
    学习一下
    ExploreWay
        2
    ExploreWay  
       2016-07-26 10:55:02 +08:00
    好厉害的
    allencode
        3
    allencode  
    OP
       2016-07-26 10:55:37 +08:00
    喜欢的话,还请各位帮忙 star 一波
    dong3580
        4
    dong3580  
       2016-07-26 11:19:21 +08:00
    zcwlwen
        5
    zcwlwen  
       2016-07-26 11:24:02 +08:00
    可以的,厉害。
    wujunze
        6
    wujunze  
       2016-07-26 11:24:29 +08:00
    很有想法 并且 DO it 赞一个
    echopan
        7
    echopan  
       2016-07-26 11:36:00 +08:00
    已经拿走研究
    coolloves
        8
    coolloves  
       2016-07-26 13:14:02 +08:00
    mark!!!!!
    jugelizi
        9
    jugelizi  
       2016-07-26 13:53:51 +08:00
    我当初看 一个 也是 没有电子版
    自己爬下来处理下放电子书里看了
    ID 自增的 ORZ
    wannianma
        10
    wannianma  
       2016-07-26 13:58:04 +08:00
    爬虫完全用正则匹配太累了,可以用一些第三库来简化,比如 BeautifulSoup 或者 xpath
    allencode
        11
    allencode  
    OP
       2016-07-26 14:03:50 +08:00
    @wannianma 嗯 为了练手的。另外一个就是用 bs4 的。有的需要提取的内容比较简单,就直接用正则了。
    谢谢你看了代码。
    allencode
        12
    allencode  
    OP
       2016-07-26 14:04:45 +08:00
    @jugelizi 哈哈,是吗,可以想办法推送到 kindle 上。我也是为了练手 Android 才想起来这么做的。
    allencode
        13
    allencode  
    OP
       2016-07-26 14:05:03 +08:00
    有什么问题,可以 qq 跟我交流。互相学习
    koloz
        14
    koloz  
       2016-07-26 14:05:55 +08:00
    GreatMartial
        15
    GreatMartial  
       2016-07-26 14:12:12 +08:00 via Android
    关注一波
    xiaosheng
        16
    xiaosheng  
       2016-07-26 14:57:37 +08:00
    python 几呢
    xiaosheng
        17
    xiaosheng  
       2016-07-26 15:03:10 +08:00
    解析包时出现错误...
    allencode
        18
    allencode  
    OP
       2016-07-26 15:08:44 +08:00
    @xiaosheng python 2.7 请问解析什么包出现错误? Python 还是 App
    xiaosheng
        19
    xiaosheng  
       2016-07-26 15:10:59 +08:00
    @allencode app 解析包错误,米 4...
    allencode
        20
    allencode  
    OP
       2016-07-26 15:13:33 +08:00
    @xiaosheng 好 我来看看 后台 bug 是什么
    allencode
        21
    allencode  
    OP
       2016-07-26 15:25:00 +08:00
    @xiaosheng 你好 我用云真机测试了 mi4 确实是解析包问题。我试了小米其他的机子,却没有问题。请保持关注。我会上传到酷安应用市场试试看。
    allencode
        22
    allencode  
    OP
       2016-07-26 15:29:53 +08:00
    @xiaosheng 你的系统版本是 4. 几几的吗?我又测试了 6.0.1 的小米四 发现时可以正常的。
    xiaosheng
        23
    xiaosheng  
       2016-07-26 15:37:07 +08:00
    @allencode miui6...安卓 4.4.4
    allencode
        24
    allencode  
    OP
       2016-07-26 15:40:46 +08:00
    @xiaosheng 额 好吧,那是因为开发的时候版本就比较高,为了一些效果。后续我会想想能不能优化改进哈。
    nightspirit
        25
    nightspirit  
       2016-07-26 15:57:43 +08:00
    我想问的是豆瓣为啥用 mongo 存储
    allencode
        26
    allencode  
    OP
       2016-07-26 16:32:03 +08:00
    @xiaosheng 现在可以试一下了。我这边是没问题的。至少在安装上不会出现解析包问题了。
    allencode
        27
    allencode  
    OP
       2016-07-26 16:32:22 +08:00   ❤️ 1
    @nightspirit 那个是我收集的爬虫博客链接。
    songz
        28
    songz  
       2016-07-27 00:10:57 +08:00
    本人小白,看到爬虫就滚进来了,如果我想统计某个网页上的某个数据,楼主可以提点一下吗
    allencode
        29
    allencode  
    OP
       2016-07-27 09:01:29 +08:00
    @songz 好 可以交流 应该能找到我的联系方式吧
    holajamc
        30
    holajamc  
       2016-07-27 11:31:36 +08:00
    手里有一个落网的爬虫~不知道楼主需要不需要加进来~
    allencode
        31
    allencode  
    OP
       2016-07-27 12:15:12 +08:00 via Android   ❤️ 1
    @holajamc 哈哈,我写过落网的爬虫,目录里面也有,如果你觉得思路不一样,你可以提 pr
    holajamc
        32
    holajamc  
       2016-07-27 12:27:38 +08:00
    @allencode 看了一下~思路不同我是直接遍历把歌曲 url 存入数据库,顺手写抓了期刊的内容~
    allencode
        33
    allencode  
    OP
       2016-07-27 12:31:12 +08:00 via Android   ❤️ 1
    @holajamc 可以可以,你直接提 pr ,等我回到电脑前 merge 一下,注意相关格式哈,一起完善😄
    holajamc
        34
    holajamc  
       2016-07-27 12:35:49 +08:00
    @allencode 稍晚时候提给你~
    lengjingxu
        35
    lengjingxu  
       2016-07-28 08:54:00 +08:00 via Android
    大端文字的字间距,端间距什么的调整一下阅读效果会好些
    allencode
        36
    allencode  
    OP
       2016-07-28 09:30:23 +08:00
    @lengjingxu 嗯嗯,这些数据都是爬回来的,暂时还没想到怎么去改动这些。后续想想是否可以在爬的过程中存储时候改动一下。
    iam36
        37
    iam36  
       2016-08-02 13:54:56 +08:00
    楼主能开源你的 APP 吗?
    allencode
        38
    allencode  
    OP
       2016-08-02 17:11:18 +08:00
    @iam36 已经开源了。目前正在优化和改进。请持续关注。 https://github.com/wuchangfeng/One
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:30 · PVG 13:30 · LAX 21:30 · JFK 00:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.