Sicily部分题目方法介绍爬取

作者: 肥宅_Sean | 来源:发表于2018-01-09 20:10 被阅读55次

    正值期末复习,刷点soj放松下。
    但想看看能不能在找点关于数据结构的题目来做一下。
    在网上看到有不少人上传过那些关于部分SOJ题目的描述,但是说实话有些乱

    不过我看到有个网页中包含的一个类似文档的东西,里面讲述的还算比较整洁。但是不巧的是,它被分成了很多页,我要看就需要不断地点下一页,这点让我感觉很难受(懒...)
    于是我就研究了下那个网页的源码,开始了写了个爬虫。
    为了好看,将写好的东西,做了个切片,放到了excel中。

    下面是爬取的效果(有意思的是,我是复制的,但是粘贴在简书上的时候就默认转换到了图片格式。看来简书这里的用的跟一般有点不太一样hhh)


    image.png

    大家也可以用我下面的代码来跑就好了,会自动生成这个excel文件的。注意一下,文件路径自己写一个就好啦~(相信各位读者啦)

    import requests
    import re
    from bs4 import BeautifulSoup
    import xlwt
    
    url_base = "http://m.wendangku.net"
    urls = []
    urls.append(url_base + "/doc/8498b8d449649b6648d74724.html")
    Messsage = []
    
    for url in urls:
        res = requests.get(url)
        soup = BeautifulSoup(res.text, 'html.parser')
        next_ = soup.find_all(attrs={"class": "next"})
        if next_:
            next_Url = url_base + next_[0].get('href')
            print(next_Url)
            urls.append(next_Url)
        sicily = soup.find_all('p')
        for s in sicily:
            if len(s.text) > 11 and s.text[0:6] == 'sicily':
                Messsage.append(s.text)
    
    work_book2 = xlwt.Workbook("E:/Code/Python/Project/SojContentget/")
    sheet = work_book2.add_sheet('sheet1')
    for i, m in enumerate(Messsage):
        sheet.write(i, 0, m[0:11])
        sheet.write(i, 1, m[12:])
    work_book2.save("sicily题目.xls")
    

    相关文章

      网友评论

        本文标题:Sicily部分题目方法介绍爬取

        本文链接:https://www.haomeiwen.com/subject/znvgnxtx.html