我自己把迷途桜的网站给爬了

嗯,其实是准备写一个生存报告的,大概.
然后,草稿是三月份一直到现在都还是没有写好.
原因很多,很多时候就是没有时间,懒,很累.
究其根源就是当了奶爸世界都不一样了.
最近没有好好看动画,因为Mac电脑的缘故,下载都是一个很费力的事情.
所以,痛定思痛的我决定学习Python,写个爬虫爬种子.

在学习之余,我觉得还是先把我们自己的网站先爬了再说.
所以在人生苦短之余,我用Python这短短的一些代码就把大致的数据给爬出来了.
大概还是我学习Swift的缘故,Python虽然是个远房亲戚,但是写起来还不算太费力,感觉要爬好网页还必须学会JS和CSS?
心好累.

最后,我还是想说,我果然还是很喜欢Markdown!对于一个苹果开发者,如果除了Xcode之外,还需要一种IDE,那么必须是VSCode呀.
推荐一个Mardown编辑器:Boostnote,全平台通用.

附上源码:

import requests
from bs4 import BeautifulSoup

# 基本网址
baseUrl = "http://lostsakura.com/page/"

# 文章信息数组
infos = []

# 获取某个页面的Soup
def getHtmlSoup(pageNum):
    url = baseUrl + str(pageNum)
    response = requests.get(url)
    soup = BeautifulSoup(response.text, "html.parser")
    return soup

# 获取页面中的文章信息
def getArticleInfo(index, soup):
    # 文章标题和链接
        titlesAndHrefs = soup.select("#main > article:nth-child(%s) > div > div.kratos-post-inner-new > header > h2 > a"%index)
        # 文章创建时间
        creatDates = soup.select("#main > article:nth-child(%s) > div > div.kratos-post-meta-new > span.visible-lg.visible-md.visible-sm.pull-left > a:nth-child(1)"%index)
        # 文章评论数量
        comments = soup.select("#main > article:nth-child(%s) > div > div.kratos-post-meta-new > span.visible-lg.visible-md.visible-sm.pull-left > a:nth-child(2)"%index)
        # 文章阅读数量
        reads = soup.select("#main > article:nth-child(%s) > div > div.kratos-post-meta-new > span:nth-child(2) > a:nth-child(1)"%index)
        # 文章点赞数量
        favours = soup.select("#main > article:nth-child(%s) > div > div.kratos-post-meta-new > span:nth-child(2) > a:nth-child(2)"%index)
        # 文章作者
        authors = soup.select("#main > article:nth-child(%s) > div > div.kratos-post-meta-new > span:nth-child(2) > a:nth-child(3)"%index)

        if len(titlesAndHrefs) == 1 and len(creatDates) == 1 and len(comments) == 1 and len(reads) == 1  and len(favours) == 1 and len(authors) == 1:
            titlesAndHref = titlesAndHrefs[0]
            title = titlesAndHref.get_text()
            href = titlesAndHref.get("href")

            creatDate = creatDates[0]
            date = creatDate.get_text()

            comment = comments[0]
            commentNum = comment.get_text()

            read = reads[0]
            readNum = read.get_text()

            favour = favours[0]
            favourNum = favour.get_text()

            author = authors[0]
            authorName = author.get_text()

            articleInfo = {
                "title": title,
                "href": href,
                "date": date,
                "comment": commentNum,
                "read": readNum,
                "favour": favourNum,
                "author": authorName
            }
            return articleInfo
        else:
            return None

# 输入函数
def write(name, infoString):
    with open(name,"a") as f:
        f.writelines(infoString + ",\n")

# 主函数
def main():
    for pageNum in range(1, 41):
        soup = getHtmlSoup(pageNum)

        for index in range(1,7):
            articleInfo = getArticleInfo(index, soup)
            infos.append(articleInfo)

            write("articleInfo.json", str(articleInfo))

    print(infos)

if __name__ == "__main__":
    main()

爬的一个结果如下:

{'title': '2018追番盘点', 'href': 'http://lostsakura.com/3192.html', 'date': ' 2019 年 01 月 30 日', 'comment': ' 4条评论', 'read': ' 2,440次阅读', 'favour': ' 4人点赞', 'author': ' XGL'}

爬的总信息,这里我就不展示,下一步,准备用库把数据分析一下?(我们这可怜的数据有什么好分析的呢 T T)

点赞
  1. sola说道:

    emmmm...打算扔掉wordpress重新写个博客呢,要把数据库搬过去是个问题

  2. XGL说道:

    糟了完全看不懂云逝写的是什么,很高大上的样子,不是这个领域的人就像文盲一样 :cry:

    最近没看动画么?其他挺好的,夸张点感觉这次四月新番真是有史以来最烂,以前四月、十月当属最强,但这季实在是难以下咽,只好戳戳戳一直拉进度条…
    唯独巨人第三季争光,忍住不看漫画,整整六年终于迎来了世界观揭秘,人类种族主义的核心主题。

    B站最近在搞十周年,第一次还是漫妖社的某人给个《亲吻姐姐》链接进去的,感觉和A站一样是个模仿岛国Niconico动画的视频站,也不知道弹幕这东西有没有知识产权,Niconico动画对A站和B站怎么想。一年后我才注册了会员,UID还是一万多名的,后来B站发展真的很快,遇上版权时代来临,积极转型升级,如今延伸ACG组成泛文化娱乐圈,相比之下A站那会还在审查吃官司。

    回到起点,在没版权的时候,个人感觉B站赢在美工、网页设计以及程序,更精美操作更顺手更人性化,所以即使播同样的视频,营造观感体验的后台开发人员有多么重要,这是一条条代码的力量。

    1. sola说道:

      毕竟z大现在转职程序员了。
      四月大概最值得一看的就是《鬼灭之刃》了(排除各种第二季第三季的话。
      b站刚开站不久我就注册了,UID三位数。。emmm。。一个从来没投过稿的三位数
      A的衰落只能说世事沉浮,而A到B更多的是星火传承,中国如今的ACG世界并不需要一个仿AB的新A站或者C站,而是需要一个开拓新风向的alpha(α),如此看,A不如放弃挣扎,脱胎换骨重头来过。

  3. Vivid说道:

    六年前的某一天,我悄悄地将贵站链接加入了 Chrome 的书签,并以贵站作为榜样建立属于自己的博客。

    六年后的现在,属于自己的博客终于建立好了。

    蓦然回过头来看到贵站,虽然还存留那份记忆,但似乎有种人去楼空的伤怀萦绕于心。

    1. sola说道:

      宴席不散,江湖再见

发表评论

电子邮件地址不会被公开。 必填项已用*标注