前言
本篇内容,让你完全掌握Python是如何做数据挖掘的
一、环境准备
- 1.1 Python 3.7.0
- 1.2 Pycharm (Python 开发工具)
- 1.3 requests、bs4 ((处理网页数据工具类 )
python3.7.0、pycharm 软件均在我们的百度网盘里:https://pan.baidu.com/s/1Pe0cZzLU1v46EHZZ7EGCnQ
获取更多资源和案例,以及问题解答请加Python学习交流群进行获取:367203382
二、废话不多说,一边上代码,一边讲代码
- 引入相关的库
import requests
from bs4 import BeautifulSoup
import time
- 准备要获取小说内容的开始页面的链接
# 小说的主页面地址
home = 'http://www.biquge.info/10_10218/'
- 然后实现可以批量获取小说页面的数据
# 获取一个页内容
def one_page(url):
# 把代码包装成浏览器
headers = {
# 用户标识
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
r =requests.get(url,headers=headers,stream=True)
# 编码统一成utf-8
r.encoding = 'utf-8'
soup = BeautifulSoup(r.text,'html.parser')
# 标题
title = soup.find('div',class_='bookname').find('h1').text
content =soup.find('div',id='content')
content = str(content)
content = content.replace('<div id="content"><!--go-->','')
content = content.replace('<br>','\n')
content = content.replace('<br/>','\n')
content = content.replace('<!--over-->','')
content = content.replace('</div>','')
# 把内容都分开存到单独的txt文件中
# with open(title+'.txt','a+', encoding='utf-8') as f:
# f.write(content)
print(title +'爬取完成~')
return content,title
for i in range(5001501,5001505): # 结局:5002115
url =home+str(i)+'.html'
time.sleep(1.5)
content,title = one_page(url)
# 把内容都放到一个txt文件中
with open('斗罗大陆.txt','a+', encoding='utf-8') as f:
f.write('\r'+title+'\r'+content)