python-爬虫(3)-数据解析-bs4-下载网页版的章回体小说

  有时候看网页版的连载小说,有点费劲,于是写个小程序,自己下内容到本地.txt文件。下面给一些伪代码。

对于具体的小说网站,是否是动态加载数据,html格式如何需要具体分析。不过下载的基本套路都一样。从技术上说数据解析关注也就两个点:标签定位,数据提取。一般用bs4,lxml。bs4在使用上就1个属性:tagname;3种方法:find,findall,select。
下载实现步骤很简单:

1.从首页解析出章节的标题和详情页的url
    url=''
    page_text=
2.数据解析(章节标题,详情页的url)
    2.1实例化soup
    soup=BeautifulSoup(page_text,'lxml')
    2.2提取章节的内容一页一个soup

      a_list=soup.select('.book-mulu>ul>li>a')
      包含title和detail_url,
             根据detail_url 提取page_text_detail 和content
    2.3 爬到的数据写入文件

来个隐去URL的实例
 

from bs4 import BeautifulSoup
import requests

#1.从首页解析出章节的标题和详情页的url
url='https://www.***.com/list/3090217.html'
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'
}
page_text = requests.get(url=url,headers=headers).text
fp=open('./down.text','w',encoding='utf-8')
#2.数据解析(章节标题,详情页的url)
soup=BeautifulSoup(page_text,'lxml') #2.1实例化soup
a_list=soup.select('.book-mulu>ul>li>a')
for a in a_list:
    title=a.string
    detail_url='https://www.***.com/list/3090217.html'+a['href']
    # 2.2提取章节的内容一页一个soup
    page_text_detail=requests.get(url=detail_url,headers=headers)
    soup=BeautifulSoup(page_text_detail,'lxml')
    content=soup.find('div',class_='chapter_content').text
    #2.3 爬到的数据写入文件
    fp.write(title+':'+content+'\n')
    print(title,'下载成功!')


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值