Sicily部分题目方法介绍爬取
2018-01-09 本文已影响55人
肥宅_Sean
正值期末复习,刷点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")