Sicily部分题目方法介绍爬取

正值期末复习,刷点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")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,227评论 25 708
  • 郝缘终邀赵来去,盘缠也已没问题 郝缘从赵来家里回来,一直就沉浸在怎样说服父母,让自己去深圳;其实在父母心里,主要也...
    好郝说话阅读 236评论 0 3
  • 旁边的房子没有人住 每天晚上都有翻书的声音 我不知道该不该要害怕 我只是觉得 如果所有的鬼都喜欢看书 这世界大概就...
    留子尧阅读 187评论 1 8
  • 不畏惧
    茜們丁阅读 182评论 0 1
  • 1.获取命令帮助 Linux中的命令按可分类shell内嵌命令、外部命令,获取命令帮助信息前需要区分命令类型。 1...
    yuanzicheng阅读 723评论 0 50