千峰教育-python爬取网页小说内容

step one:urllib获取网页基本信息:

#从urllib中导入request库
from urllib import request
#获取url
url="http://www.baidu.com"
#urlopen()获取网页信息
response = request.urlopen(url=url)
#读取网页内容
html = response.read()
#字符集转换为utf-8
html = html.decode("utf-8")
#打印输出
print(html)

运行结果:
这里写图片描述
其实三步就可以解决:

#从urllib中导入request库
import urllib.request
#urlopen()获取网页信息
response = urllib.request.urlopen('https://www.bilibili.com/')
#从网页读取并将字符转换为utf-8
print(response.read().decode('utf-8'))

结果:
这里写图片描述

steptwo:使用chardet第三方库爬取网页相关信息

#从urllib中导入request库
from urllib import request
#导入第三方库chardet
import chardet
#urlopen()获取网页信息
req = request.urlopen("http://news.baidu.com/")
#获取Status: 200 OK内容
print(req.getcode())
#读取网页内容
html = req.read()
#获取一些相关
setchar = chardet.detect(html)
print(setchar)
print("\n")
#解码
print(html.decode())

这里写图片描述

stepthree:从网站爬取小说

代码:

import requests
from  bs4 import BeautifulSoup
import lxml
#设定一个url
url="http://www.biqukan.com/1_1094/17956049.html"
#获取url内容
req=requests.get(url=url)
print("状态响应码",req)
#转换字符为utf-8
# req.encoding="utf-8"
#转换成text
html=req.text
#输出
# print(html)
#实例化对象加入网页信息 和解析器
bf=BeautifulSoup(html,'lxml')
#通过对应的div和class来找到对应的文本
bfs_text=bf.find_all('div',class_='showtxt')
#获取到一个列表然后提取内容
texts=bfs_text[0].text
#替换文本的空白为换行
texts=texts.replace("\xa0"*8,"  \n\n")
#创建文本文件记得设置字符编码
file=open("一念永恒.txt",'w',encoding="utf-8")
#写入文件
file.write(texts)
#关闭
file.close()
print("下载成功。。。")

结果:
这里写图片描述

我的代码:

import requests
from bs4 import BeautifulSoup
import lxml
#设定一个url
url = "http://wanmeishijiexiaoshuo.org/book/15.html"
#获取url内容
req = requests.get(url=url)
print("状态响应码",req)
#转换成text
html = req.text
#实例化对象加入网页信息 和解析器
bf1 = BeautifulSoup(html,"lxml")
#通过对应的div和class来找到对应的文本
bf2_text = bf1.find_all("div",class_="content")
#获取到一个列表然后提取内容
texts = bf2_text[0].text
#替换文本的空白为换行
texts = texts.replace("\xa0"*1,"\n\n")
#创建文本文件记得设置字符编码
file = open("祭灵.txt",'w',encoding="utf-8")
file.write(texts)
#写入文件
file.close()
print("下载成功!")

这里写图片描述

猜你喜欢

转载自blog.csdn.net/lijia111111/article/details/80639900