• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python爬取三国演义的实现方法

Python爬取三国演义的实现方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python3 爬取tr,python 列表爬,python爬取图片,python爬取数据,python爬取动态网页等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文的爬虫教程分为四部:

     1.从哪爬 where

     2.爬什么 what

     3.怎么爬 how

     4.爬了之后信息如何保存 save

一、从哪爬

三国演义

二、爬什么

三国演义全文

三、怎么爬

在Chrome页面打开F12,就可以发现文章内容在节点

<div id="con" class="bookyuanjiao">
</div>

只要找到这个节点,然后把内容写入到一个html文件即可。

content = soup.find("div", {"class": "bookyuanjiao", "id": "con"})
</div>

四、爬了之后如何保存

主要就是拿到内容,拼接到一个html文件,然后保存下来就可以了。

#!usr/bin/env 
# -*-coding:utf-8 -*-
import urllib2
import os
from bs4 import BeautifulSoup as BS
import locale
import sys
from lxml import etree
import re

reload(sys)
sys.setdefaultencoding('gbk')

sub_folder = os.path.join(os.getcwd(), "sanguoyanyi")
if not os.path.exists(sub_folder):
  os.mkdir(sub_folder)

path = sub_folder

# customize html as head of the articles
input = open(r'0.html', 'r')
head = input.read()

domain = 'http://www.shicimingju.com/book/sanguoyanyi.html'
t = domain.find(r'.html')
new_domain = '/'.join(domain.split("/")[:-2])
first_chapter_url = domain[:t] + "/" + str(1) + '.html'
print first_chapter_url

# Get url if chapter lists
req = urllib2.Request(url=domain)
resp = urllib2.urlopen(req)
html = resp.read()
soup = BS(html, 'lxml')
chapter_list = soup.find("div", {"class": "bookyuanjiao", "id": "mulu"})
sel = etree.HTML(str(chapter_list))
result = sel.xpath('//li/a/@href')

for each_link in result:
  each_chapter_link = new_domain + "/" + each_link
  print each_chapter_link
  req = urllib2.Request(url=each_chapter_link)
  resp = urllib2.urlopen(req)
  html = resp.read()

  soup = BS(html, 'lxml')
  content = soup.find("div", {"class": "bookyuanjiao", "id": "con"})
  title = soup.title.text
  title = title.split(u'_《三国演义》_诗词名句网')[0]

  html = str(content)
  html = head + html + "</body></html>"

  filename = path + "\\" + title + ".html"
  print filename
  # write file
  output = open(filename, 'w')
  output.write(html)
  output.close()
</div>

0.html的内容如下

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>
</div>

总结

以上就是利用Python爬取三国演义的实现方法,希望对大家学习python能有所帮助,如果有疑问大家可以留言交流。

</div>

您可能想查找下面的文章:

  • Python3实现并发检验代理池地址的方法
  • Python爬取三国演义的实现方法
  • Python3实现并发检验代理池地址的方法
  • Python爬取三国演义的实现方法
  • Python3实现从指定路径查找文件的方法
  • 在Python3中初学者应会的一些基本的提升效率的小技巧
  • Python爬取读者并制作成PDF
  • Python3 能振兴 Python的原因分析
  • Python3 正在毁灭 Python的原因分析

相关文章

  • Python常用的内置序列结构(列表、元组、字典)学习笔记
  • python基于urllib实现按照百度音乐分类下载mp3的方法
  • python图像处理之反色实现方法
  • python实现多线程暴力破解登陆路由器功能代码分享
  • python制作最美应用的爬虫
  • python使用Tkinter显示网络图片的方法
  • 详解Python中heapq模块的用法
  • Python3中常用的处理时间和实现定时任务的方法的介绍
  • Python threading多线程编程实例
  • python在linux中输出带颜色的文字的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python实现计算最小编辑距离
    • 关于Python面向对象编程的知识点总结
    • python求斐波那契数列示例分享
    • Python中operator模块的操作符使用示例总结
    • Django中处理出错页面的方法
    • python实现k均值算法示例(k均值聚类算法)
    • 浅谈Python程序与C++程序的联合使用
    • Python实现类继承实例
    • 简单介绍Python中的floor()方法
    • 从Python的源码浅要剖析Python的内存管理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有