Python制作爬虫采集小说

系统 1589 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()

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


    更多文章、技术交流、商务合作、联系博主

    微信扫码或搜索:z360901061

    微信扫一扫加我为好友

    QQ号联系: 360901061

    您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

    【本文对您有帮助就好】

    您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

    发表我的评论
    最新评论 总共0条评论