乐趣区

关于python爬虫:Python爬虫鲁迅先生经典语录保存到Excel表格附源码

Python 爬虫鲁迅学生《经典语录》保留到 Excel 表格(附源码)

前言

明天用 Python 爬取鲁迅学生《经典语录》,间接开整~

代码运行成果展现

开发工具

Python 版本: 3.6.4

相干模块

requests

lxml

pandas

以及 Python 自带的模块

思路剖析

1、获取数据

通过“好句子迷”网站,获取网页。

http://www.shuoshuodaitupian.com/writer/128_1

利用 request 模块,通过 URL 链接,获取 html 网页,下一步进行网页剖析。

其中,URL 只有最初一部分产生扭转(1-10:代表第 1 页 – 第 10 页的全部内容)

# 1、获取数据
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" \
                         "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36",
           }

for i in range(0, 9):
    url = "http://www.shuoshuodaitupian.com/writer/128_" + str(i + 1)  # 1-10 页
    result = requests.get(url, headers=headers).content.decode()  

2、解析数据

通过 Xpath 语句解析,别离获取句子的内容、起源和评分等,如图所示。

把获取的每一组数据,放在一个字典里,再把字典追加到一个列表中。

源码:

# 2、解析数据
html = etree.HTML(result)
div_list = html.xpath('//div[@class="item statistic_item"]')
div_list = div_list[1:-1]

for div in div_list:
    # 遍历每一条信息

    item = {}

    # ./ 留神从以后节点,向下获取
    item['content'] = div.xpath('./a/text()')[0]
    item['source'] = div.xpath('./div[@class="author_zuopin"]/text()')[0]
    item['score'] = div.xpath('.//a[@class="infobox zan like "]/span/text()')[0]

    item_list.append(item)

print("正在爬取第 {} 页".format(i + 1))
time.sleep(0.1)

保留数据:把上述获取的数据放到一个列表中后,可通过 pandas 模块把数据类型转变为 DataFrame,进而能够轻松地保留到 excel 文件中。为避免中文乱码,留神编码格局。

3、保留数据

df = pd.DataFrame(item_list) # 把数据存成 csv 文件
df.to_csv('鲁迅经典语录.csv', encoding='utf_8_sig') # 保障不乱码

依照评分进行排序之后的后果,如下图。

如果想生成多条个人信息,能够利用 for 循环,把每个字典在增加到列表里,导出一个 DataFrame

文章到这里就完结了,感激你的观看,Python 数据分析系列,下篇文章分享 Python 爬取鲁迅学生《经典语录》

为了感激读者们,我想把我最近珍藏的一些编程干货分享给大家,回馈每一个读者,心愿能帮到你们。

干货次要有:

① 2000 多本 Python 电子书(支流和经典的书籍应该都有了)

② Python 规范库材料(最全中文版)

③ 我的项目源码(四五十个乏味且经典的练手我的项目及源码)

④ Python 根底入门、爬虫、web 开发、大数据分析方面的视频(适宜小白学习)

⑤ Python 学习路线图(辞别不入流的学习)

⑥ 两天的 Python 爬虫训练营直播权限

All done~详见个人简介或者私信获取残缺源代码。。

往期回顾

Python 实现“假”数据

退出移动版