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


Posted in Python onSeptember 12, 2016

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

     1.从哪爬 where

     2.爬什么 what

     3.怎么爬 how

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

一、从哪爬

三国演义

二、爬什么

三国演义全文

三、怎么爬

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

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

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

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

四、爬了之后如何保存

主要就是拿到内容,拼接到一个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()

0.html的内容如下

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

总结

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

Python 相关文章推荐
使用Python开发windows GUI程序入门实例
Oct 23 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
Python反射用法实例简析
Dec 22 Python
python实现音乐下载器
Apr 15 Python
解决python3 json数据包含中文的读写问题
May 10 Python
Python爬虫爬取煎蛋网图片代码实例
Dec 16 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
python——全排列数的生成方式
Feb 26 Python
python退出循环的方法
Jun 18 Python
Python常用数据分析模块原理解析
Jul 20 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
python 读写、创建 文件的方法(必看)
Sep 12 #Python
Python读写Json涉及到中文的处理方法
Sep 12 #Python
详细介绍Python的鸭子类型
Sep 12 #Python
Python 读写文件和file对象的方法(推荐)
Sep 12 #Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 #Python
浅谈python对象数据的读写权限
Sep 12 #Python
python获取list下标及其值的简单方法
Sep 12 #Python
You might like
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
一些mootools的学习资源
2010/02/07 Javascript
javascript 常用功能总结
2012/03/18 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
全面了解js中的script标签
2016/07/04 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
react.js 获取真实的DOM节点实例(必看)
2017/04/17 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
python机器学习之KNN分类算法
2018/08/29 Python
Python几种常见算法汇总
2020/06/02 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
仓管岗位职责范本
2014/02/08 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
元旦活动感言
2014/03/08 职场文书
社区义诊活动总结
2014/04/30 职场文书
2014年少先队工作总结
2014/12/03 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
2015年财政所工作总结
2015/04/25 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
导游词之青岛太清宫
2019/12/13 职场文书