Python制作爬虫采集小说


Posted in Python onOctober 25, 2015

开发工具:python3.4
操作系统:win8
主要功能:去指定小说网页爬小说目录,按章节保存到本地,并将爬过的网页保存到本地配置文件。
被爬网站:http://www.cishuge.com/
小说名称:灵棺夜行
代码出处:本人亲自码的

import urllib.request
import http.cookiejar

import socket
import time
import re

timeout = 20
socket.setdefaulttimeout(timeout)

sleep_download_time = 10
time.sleep(sleep_download_time)
 
def makeMyOpener(head = {
 'Connection': 'Keep-Alive',
 'Accept': 'text/html, application/xhtml+xml, */*',
 'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3',
 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'
}):
 cj = http.cookiejar.CookieJar()
 opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
 header = []
 for key, value in head.items():
  elem = (key, value)
  header.append(elem)
 opener.addheaders = header
 return opener
 
def saveFile(save_path,txts):
 f_obj = open(save_path,'w+')
 for item in txts:
  f_obj.write(item+'\n')
 f_obj.close()
 
#get_code_list
code_list='http://www.cishuge.com/read/0/771/'
oper = makeMyOpener()
uop = oper.open(code_list,timeout=1000)
data = uop.read().decode('gbk','ignore')

pattern = re.compile('<li><a href="(.*?)".*?>(.*?)</a></li>',re.S)

items = re.findall(pattern,data)

print ('获取列表完成')
url_path='url_file.txt'

url_r=open(url_path,'r')
url_arr=url_r.readlines(100000)
url_r.close()
print (len(url_arr))

url_file=open(url_path,'a')

print ('获取已下载网址')

for tmp in items:
 save_path = tmp[1].replace(' ','')+'.txt'
 url = code_list+tmp[0]
 if url+'\n' in url_arr:
  continue
 print('写日志:'+url+'\n')
 url_file.write(url+'\n')
 opene = makeMyOpener()
 op1 = opene.open(url,timeout=1000)
 data = op1.read().decode('gbk','ignore')
 opene.close()
 pattern = re.compile('    (.*?)<br />',re.S)
 txts = re.findall(pattern,data)
 saveFile(save_path,txts)
 
url_file.close()

虽然代码还是有点瑕疵,还是分享给大家,一起改进

Python 相关文章推荐
Python通过解析网页实现看报程序的方法
Aug 04 Python
python利用requests库模拟post请求时json的使用教程
Dec 07 Python
Python实现12306火车票抢票系统
Jul 04 Python
python中列表的切片与修改知识点总结
Jul 23 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 Python
WxPython实现无边框界面
Nov 18 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
Jul 27 Python
Python中的特殊方法以及应用详解
Sep 20 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
10个示例带你掌握python中的元组
Nov 23 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 Python
Python验证企业工商注册码
Oct 25 #Python
日常整理python执行系统命令的常见方法(全)
Oct 22 #Python
Python六大开源框架对比
Oct 19 #Python
Python脚本暴力破解栅栏密码
Oct 19 #Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 #Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 #Python
详解使用Python处理文件目录的相关方法
Oct 16 #Python
You might like
PHP中对数据库操作的封装
2006/10/09 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
php注销代码(session注销)
2012/05/31 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
js设置组合快捷键/tabindex功能的方法
2013/11/21 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
微信小程序日历效果
2018/12/29 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python模块学习 filecmp 文件比较
2012/08/27 Python
python中对list去重的多种方法
2014/09/18 Python
Python下载懒人图库JavaScript特效
2015/05/28 Python
Python使用folium excel绘制point
2019/01/03 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
标准化管理实施方案
2014/02/25 职场文书
高考寄语大全
2014/04/08 职场文书
大学生个人求职信例文
2014/07/07 职场文书
关于保护环境的建议书
2014/08/26 职场文书
高二语文教学反思
2016/02/16 职场文书