python 入门爬虫搜集Python3自学 爬虫实战

用Python打造一款简书追女神助手

2017-05-01  本文已影响1080人  向右奔跑

『简书追女神助手』实现的功能:你关注的简书作者(女神)更新了文章,程序会第一时间自动点赞❤,另外你的邮箱会马上收到一封邮件通知。如果这个邮箱绑定了微信,微信中就即时通知。

实现步骤:

  1. 抓取关注作者的文章列表的最后的一篇。

如果比对相同,就是未更新。程序结束。

当然,追女神做到这些还不够,快去赤果果(zhen cheng)地留言评论,用力打赏吧。

发送邮件的代码:

def send_mail(title,content):

    envelope = Envelope(
        from_addr=(u'用于发送的邮箱,我用的QQ邮箱xxx@qq.com'), #发送的邮箱
        to_addr=(u'用于接收的邮箱yyy@qq.com'),  #接收的邮箱
        subject=title,
        text_body=content
    )
    # envelope.add_attachment('/Users/apple/Desktop/shell.png')  #发送邮件添加附件,这里没有

    # Send the envelope using an ad-hoc connection...
    envelope.send('smtp.qq.com', login='xxx@qq.com- 你的qq箱',
                  password='你的授权码', tls=True)

Python用于发邮件的库比较很多,我这里用的是Envelopes,代码更少,也没有中文乱码的问题,注意邮箱设置要改一下,“设置”--“帐户”,生成授权码,相于当给第三方当密码使用。


点赞的代码:

def post_like(note_url):

    resp = requests.post(note_url,headers=headers2)
    print resp  #提交点赞后返回的结果

这里关键是从文章页面获取点击“喜欢”提交的URL。看下图的分析。


代码:

def from_aritle_get_note(artice_url):

    ctx = requests.get(url=artice_url).content

    soup = BeautifulSoup(ctx, 'html.parser', from_encoding='utf-8')

    mts = soup.find_all('meta',property='al:ios:url')

    mts =  mts[0]['content']
    pid = filter(str.isdigit,str(mts))
    post_like_url = 'http://www.jianshu.com/notes/%s/like' % pid
    return  post_like_url

后面的代码就比较简单了:读写一个文章,用于保存作者最后一篇文章信息,用于核对是不是新发表了文章。从作者主页中抓取文章信息,获取最后发表的一篇文章。


还有其他方式可以实现类似功能的吗?

  1. 有同学说,关注了作者,APP中本身就有推送消息啊。如果你想这样,就只关注一个可尽能少的的作者,不然推送消息太多,或者使用小号来关注你的女神。
  2. 还有同学说,可以使用RSS订阅来实现,关注的用户更新了文章,就收到邮件通知。有热心网友帮简书烧制了 RSS,《简书 RSS》 http://jianshu.milkythinking.com/
    但是以上这种两种方法受一些限制,也不会及时自动点赞,不如自己撸一段代码实现的那么酷。

以上代码和功能都比较适合初步Python童鞋练习。还可以把来源改为微博,实现微博版的追女神助手。

上一篇 下一篇

猜你喜欢

热点阅读