python爬取唐诗三百首

python讨论qq群:996113038


导语:

最近一直在写爬虫,写过一些爬取“妹子图”,“小视频”之类的爬虫,但是我想了想。咱们公众号虽然是个技术类公众号。但是总得有点文艺气息。所以这一次,我就用爬虫来爬取一下“唐诗三百首”。

首先说一下这个网站:

http://www.zhongguoshici.com/shici/list?cate=%E5%94%90%E8%AF%97%E4%B8%89%E7%99%BE%E9%A6%96

这就是中国诗词网的唐诗三百首。我们就是在这个网站上下载唐诗。


代码及相关资源获取:

关注“python趣味爱好者”公众号,回复“爬取唐诗”获取源代码。


开发工具:

python3.6.4。

需要安装的第三方库:

requests

parsel

re


效果演示:

用视频太麻烦了,直接用图片吧!直接看一看txt文件。

这就是我们把爬取的唐诗保存下来以后的效果。


基本原理:

原理如下:

我们首先要去这个网站上踩点。看一看这个网站的规律。点击审查元素。看一看这个网址有没有什么特点。诗词的内容到底存储在哪个地方。

没错就是这里,我们获取服务器返回的信息后,就需要在这里提取唐诗。我们用的是xpath语法提取的。

title_url=html.xpath('//div[@class="poem_content"]').extract()

然后得到一个包含着唐诗的列表,但是这里面还有一些别的乱七八糟的字符。于是,我们就用正则表达式把里面的诗词全部提取出来。代码如下:

the_poet=re.findall('<div class="poem_content">(.*?)</div>',poet)

这就是正则表达式。

最后,和以前一样,我们用一个txt文件将所有的唐诗全部存储下来。

    f=open("poet.txt","a")
    for poet in title_url:
        the_poet=re.findall('<div class="poem_content">(.*?)</div>',poet)
        f.write(str(the_poet[0]))
        f.write("\n")

部分代码:

下面是我们的部分源代码:

for i in range(1,4):
    print("======================正在爬取========================")
    url=base_url+str(i)
    response=requests.get(url,headers=headers)
    html_str=response.text


    html=parsel.Selector(html_str)
    title_url=html.xpath('//div[@class="poem_content"]').extract()
    f=open("poet.txt","a")
    for poet in title_url:
        the_poet=re.findall('<div class="poem_content">(.*?)</div>',poet)
        f.write(str(the_poet[0]))
        f.write("\n")


    f.close()

              感谢大家观看,有钱的老板可以打赏一下小编哦!

扫描下方二维码,关注公众号

参考资料:

图片来源;https://www.pexels.com/zh-tw/photo/46274/

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值