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

Python 爱好者专用技术头条

  •  1
     
  •   irainy · 2016-05-06 22:58:20 +08:00 · 4667 次点击
    这是一个创建于 3141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    又做了新玩具!

    在写公众号自动回复的时候就有想法进一步扩展这一平台的应用,中间断断续续写了几个爬虫,这两天把流程整理了一下,做了一个纯 Python 版本的 Hacker News 🐍🐍🎉🎉,所谓纯 Python 是指只收集、分享与 Python 有关的链接!

    技术分享的网站有很多,每天涌入的信息也越来越多,我希望可以把筛选信息的工作交给程序。考虑到版权等问题,网站只保留了链接信息,不抓取全文;用户登录只对接了 GitHub 登入,域名没有备案,所以国内服务大部分不可用。

    目前只完成了首页和收藏等基本操作,但是我对是否有人真的会去读收藏过的文章保留怀疑态度,相比于 Read-It-Later 我更愿意相信 Read-It-Now-Or-Never 😀,当然还是会继续完善网页,包括加入更多数据来源。

    除了爬虫之外暂时开放了一个简单的分享入口,就是在公众号中回复 2+链接:

    (说明:由于个人公众号无法获取用户数据,因此无法署名)

    技术栈

    网站到现在可能连半成品都算不上,但蚂蚁虽小五脏俱全,基本功能是完善的,数据信息来源也是可靠的(但不保证正式完成前不会清空数据库😜),欢迎使用、测试甚至捣乱。这篇文章的主要目的是简单介绍一下生产过程和技术栈的简单笔记,除了爬虫和一些敏感信息以外,网站全部代码开源。

    服务端依然是基于 Tornado + Motor + MongoDB 的标配。

    爬虫本来想用 Scrapy ,后来觉得没有必要,但是其架构还是值得借鉴的:将不同来源的爬虫划分为不同模块,公用模块处理请求和入库等操作;还是习惯用正则匹配,更精准方便;最爱前后端分离的网站,用正确的姿势打开后,json.loads() 就搞定了(好像我写的网站也是这样,不过爬人者必被爬,这也算一种荣幸吧🙃)。

    前端真是让人又爱又恨,显然我不想再在一个小项目上一个人吭哧吭哧啃 React 了,国产的 Vue 似乎是个不错的选择,但我最终选择了更短小精悍的 Riot !

    大家最初排斥 React 将 HTML 和 JavaScript 混在一起的做法,认为这是一种倒退,但是 Riot 不但继承了这一反骨,甚至将其发挥到极致。不再需要额外的工具,无需容忍编译,不再忍受啰嗦到像 Android 一样的语法, Riot 做到了像 Python 一样简练的语法同时兼容了 React 的思想,简直功德无量!事实上如果你有过 React 的经验只要看一下 Riot 版本的 TODO App 就知道该怎么做了,简直是小项目的不二之选。

    感谢 Material Design Lite ,感谢 Material Icons ,感谢 Devicons ,感谢 BootCDN ,让我尽可能避免跟 CSS 打交道。

    哦对了,地址是:https://pyhub.cc


    8 条回复    2016-05-07 10:53:03 +08:00
    kslr
        1
    kslr  
       2016-05-06 23:34:29 +08:00 via Android
    也许你可以看看湾区日报得到点想法
    helloSwift
        2
    helloSwift  
       2016-05-06 23:43:42 +08:00 via iPad
    图像好评
    hanfeng3015
        3
    hanfeng3015  
       2016-05-06 23:56:33 +08:00
    good
    linkbg
        4
    linkbg  
       2016-05-07 01:08:50 +08:00 via iPhone
    点赞,思路是对的。希望坚持。
    neoblackcap
        5
    neoblackcap  
       2016-05-07 01:15:44 +08:00
    其实按照 React+flux 的设计思想,压根就不存在 html+js,你看到的是 JSX 。而且那部分应该完完全全根据传入的 property 参数来渲染。总的来说,并没有逻辑跟视图混在一起。
    irainy
        6
    irainy  
    OP
       2016-05-07 02:44:33 +08:00
    @neoblackcap 我说的是语法上是混在一起的,在逻辑代码里面掺入 HTML tag ,这(在有些人看来)是一件很可怕的事。当然从本质上来说它们是不可能混在一起的,因为它们是不可能混在一起的。
    guoliang
        7
    guoliang  
       2016-05-07 09:01:15 +08:00
    同意 @kslr ,楼主应该去观摩一下湾区日报。 只有微信订阅?是不是应该考虑一下那些非微信读者该怎么阅读?
    irainy
        8
    irainy  
    OP
       2016-05-07 10:53:03 +08:00 via iPhone
    @kslr
    @guoliang 谢谢建议,已观摩!

    @guoliang 跟微信无关啊…访问网站就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   857 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:12 · PVG 06:12 · LAX 14:12 · JFK 17:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.