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

Python制作爬虫采集小说

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

hebedich 通过本文主要向大家介绍了python爬虫下载小说,python爬虫入门教程,python爬虫工程师,python爬虫课程,python爬虫源码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

开发工具: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()

</div>

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

</div>

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

  • Python制作爬虫采集小说
  • Python制作爬虫采集小说

相关文章

  • 在Python的Django框架中创建和使用模版
  • Python实现约瑟夫环问题的方法
  • python获取指定路径下所有指定后缀文件的方法
  • 使用python Django做网页
  • 一步步解析Python斗牛游戏的概率
  • Python的一些用法分享
  • Python中random模块用法实例分析
  • 在Python 3中实现类型检查器的简单方法
  • 解决Python中由于logging模块误用导致的内存泄露
  • python实现的防DDoS脚本

文章分类

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

最近更新的内容

    • Python 可爱的大小写
    • python获取beautifulphoto随机某图片代码实例
    • Python如何实现文本转语音
    • Python脚本暴力破解栅栏密码
    • Python中文分词工具之结巴分词用法实例总结【经典案例】
    • python算法学习之基数排序实例
    • Python的爬虫程序编写框架Scrapy入门学习教程
    • Python标准库之随机数 (math包、random包)介绍
    • 详解在Python程序中使用Cookie的教程
    • 浅谈插入排序算法在Python程序中的实现及简单改进

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

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