python诗词名句网爬取《三国演义》

本文介绍了一个使用Python的requests和正则表达式库re进行网页爬取的实例,目标是从指定网站抓取《三国演义》的全部章节内容、简介及章节名,并将数据保存到本地文件中。通过定义函数textPaqu和paqu,实现了自动爬取和数据存储。
import requests
import re

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'
}
#爬取章节内容
def textPaqu(url):
    bigUrl = 'http://www.shicimingju.com'
    new_url = bigUrl+url
    response = requests.get(url=new_url, headers=headers)
    content = response.content.decode('utf-8')
    pat_t = re.compile('<h1>(.*?)</h1>')
    pat_content = re.compile('<p>(.*?)</p>')
    title = pat_t.findall(content)
    text = pat_content.findall(content)
    fr = open(r'text\三国演义.txt', 'a+')
    fr.write(title[0]+'\n\n')
    for i in text:
        fr.write(i.strip().replace('&nbsp;',' ')+'\n')
    fr.write('\n\n')
    fr.close()

#爬取简介和章节名
def paqu():
    url = 'http://www.shicimingju.com/book/sanguoyanyi.html'
    response = requests.get(url=url,headers=headers)
    content = response.content.decode('utf-8')
    pat_T = re.compile('<h1>(.*?)</h1>')
    pat_jianjie = re.compile('<p>(.*?)</p>')
    pat_t = re.compile('<li><a href="(/book/sanguoyanyi/.*?)">.*?</a></li>')
    title = pat_T.findall(content)
    jianjie = pat_jianjie.findall(content)
    zhangjie = pat_t.findall(content)
    fr = open(r'text\三国演义.txt','a+')
    fr.write(title[0]+'\n')
    for i in jianjie:
        fr.write(i+'\n')
    fr.write('\n\n')
    fr.close()
    for i in range(len(zhangjie)):
        print('正在爬取第%d章'%(i+1))
        textPaqu(zhangjie[i])
        print('第%d章爬去完成'%(i+1))

paqu()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值