一起玩python大数据 爬虫Python AI Sql数据结构和算法分析

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")
上一篇下一篇

猜你喜欢

热点阅读