Python制作爬虫采集小说
admin
2023-07-31 02:34:45
0

开发工具: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(\'
  • (.*?)
  • \',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(\'    (.*?)
    \',re.S) txts = re.findall(pattern,data) saveFile(save_path,txts) url_file.close()

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

    相关内容

    热门资讯

    Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
    500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
    定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
    scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
    65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
    小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
    pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
    微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
    Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
    python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...