美文网首页
Python爬虫实战

Python爬虫实战

作者: kaiiiu | 来源:发表于2019-01-02 17:08 被阅读0次

爬取小说网站上的小说并下载到本地

  • 导入库
from urllib import request
import re

request:用来请求网页
re:导入正则表达式

  • 确定需要爬取的小说网址
url="http://www.6mao.com/html/1/1052/736343.html"
  • 获得该页面的全部内容
webpage=request.urlopen(url)
data=webpage.read().decode("gbk")

webpage:存放请求网页的变量
decode方法:将二进制的网页字符解码,格式为“gbk”

  • 数据清洗
data=data.replace(' ',"")
data=data.replace('<br />',"")

使用replace方法将data中的&nbsp和</br>去除

  • 观察data中的数据,可以发现小说内容被包含在一个<div id="neirong"></div>标签中。
txt=re.findall(r'<div id="neirong">(.*?)</div>',data,re.S)

使用正则表达式<div id="neirong">(.*?)</div>获取<div id="neirong"></div>中的全部内容,并保存在变量txt中。

  • 至此,小说内容已经处理好,将小说内容写出。
of=open("book.txt","w")
for t in txt:
    of.write(t)
of.close()

使用open方法创建一个book的txt文件,用for循环将txt的内容写入,最后用close方法关闭文件释放资源。

  • 完成代码:
from urllib import request
import re

url="http://www.6mao.com/html/1/1052/736343.html"

webpage=request.urlopen(url)
data=webpage.read().decode("gbk")

data=data.replace('&nbsp;',"")
data=data.replace('<br />',"")

txt=re.findall(r'<div id="neirong">(.*?)</div>',data,re.S)
of=open("book.txt","w")

for t in txt:
    of.write(t)
of.close()

相关文章

网友评论

      本文标题:Python爬虫实战

      本文链接:https://www.haomeiwen.com/subject/lfwrlqtx.html