第一个小爬虫——下书网下载小说v1

第一个小爬虫,问题较多!

import urllib.request
import re
import os
import string
import time
import random

path = os.getcwd()  # 获取当前路径

def get_url():

def open_url(url):
    req = urllib.request.Request(url)
    req.add_header(‘User-Agent‘,
                   ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36‘)
    page = urllib.request.urlopen(url)
    html = page.read().decode(‘utf-8‘)
    return html

def get_txt(html):
    lst1 = str(r‘<head>[\s\S]*<title>.*</title>‘)
    lst2 = (r‘<div id="tac">[\s\S]*<div class="info bottominfo">‘)
    l1 = str(re.findall(lst1,html))
    l1 = l1[51:].replace(‘\‘‘,‘‘).replace(‘\"‘, ‘‘).replace(‘>]‘,‘‘)
    l1list = l1.split(‘,‘)[0]
    l2 = str(re.findall(lst2,html))
    l2 = l2[92:].replace(r‘\u3000\u3000‘,‘      ‘).replace(‘<br/><br/>‘,‘\n‘)[:-60]
    l2 = re.sub(‘\*‘,‘ ‘,l2)
    l2 = str(l2)
    f = open(path+r‘\\%s.txt‘%(l5),‘a‘)
    f.write(l1list)
    f.write(‘\n\n‘)
    f.write(l2)
    f.write(‘\n\n\n‘)
    print(l1list + ‘→→→下载完成→→→‘)

def get_titlename(html):
    lst3 = str(r‘<head>[\s\S]*<title>.*</title>‘)
    l3 = str(re.findall(lst3,html))
    l3 = l3[43:].split(‘_‘)[0].replace(‘txt下载‘,‘\n  ——‘).replace(‘(‘,‘‘).replace(‘)‘,‘‘)
    print(l3 + ‘→正在下载‘)
    f = open(path+r‘\\%s.txt‘%(l5),‘a‘)
    f.write(l3)
    f.write(‘\n\n‘)
    print(l3 + ‘→→→titlename下载完成→→→‘)

def get_txtname(html):
    lst4 = str(r‘<head>[\s\S]*<title>.*</title>‘)
    l4 = str(re.findall(lst4,html))
    l5 = l4[43:].split(‘txt‘)[0]
    f = open(path+r‘\\%s.txt‘%(l5),‘a‘)
    f.close
    return l5

if __name__ == ‘__main__‘:
    print(‘\n使用说明:‘
          ‘示例:《武道乾坤》,URL https://www.xiashu.la/2186/  ,该书目录为即为2186‘)
    url0 = ‘https://www.xiashu.la‘
    ml = input(‘请输入目录‘)
    url1 = url0 + r‘/‘ + ml + r‘/‘
    print(‘你输入的目录为:%s‘%url1)
    chapters = input(‘请输入总章节数(示例80页,则输入80):‘)
    chapters = int(chapters)
    print("当前工作目录 : %s" % path)
    get_txtname(open_url(url1))
    l5 = get_txtname(open_url(url1))
    get_titlename(open_url(url1))
    for chapter in range(1,chapters+1):
        url = url1 +‘read_‘+ str(chapter) + ‘.html‘
        t = random.randint(1,5)
        print(t)
        time.sleep(t)#单位:秒
        get_txt(open_url(url))

原文地址:https://www.cnblogs.com/lasttime/p/10717619.html

时间: 2024-10-07 01:05:59

第一个小爬虫——下书网下载小说v1的相关文章

第一个小爬虫(改进版)——下书网下载小说v2

已知问题: 代理地址需要更新 中断只能重新开始 1 import requests 2 import urllib.request 3 import re 4 import os 5 import string 6 import time 7 import random 8 from urllib import request 9 10 path = os.getcwd() # 获取当前路径 11 12 13 def open_url(url): 14 proxy_list = [ 15 {'h

Python爬虫——第一个小爬虫01

Python小爬虫——贴吧图片的爬取 在对Python有了一定的基础学习后,进行贴吧图片抓取小程序的编写. 目标: 首先肯定要实现图片抓取这个基本功能 然后要有一定的交互,程序不能太傻吧 最后实现对用户所给的链接进行抓取 一.页面获取 要让python可以进行对网页的访问,那肯定要用到urllib之类的包.So先来个 import urllib urllib中有 urllib.urlopen(str) 方法用于打开网页并返回一个对象,调用这个对象的read()方法后能直接获得网页的源代码,内容与

Python第一个程序小爬虫

最近想上手Python.快速入门一门语言的方法就是写个小Demo.Python Demo必须是爬虫了.第一个小爬虫程序有些简陋,高手勿喷. 关于爬虫主要分为三个部分:根据队列中的URL爬取界面.获取内容.保存结果. 程序是以百度网站大全为种子URL,抓取页面中URL依次放入队列中,爬虫从URL队列依次取得新URL继续向外爬取. # -*- coding: utf-8 -*- import urllib2 import re import thread import time class HTML

oracle官网下载老版本jdk + 如何命令行下wget下载jdk

一.文章由来 1.前天有人再去你咨询如何下载jdk的老版本,在oracle官网上找了老半天,找不到相应的选项~ 2.等待问题解决了之后,又抛出来一个新的问题,如何wget直接下载,毕竟百十来兆的文件,下载下来再上传对于我们这种蜗牛带宽来说也是一件苦逼的事情~ 二.如何下载jdk的历史版本 1.访问http://www.oracle.com 2.点击Downloads---->Java for Developers 3.在弹出的的页面中,下拉页面到最下面,点击历史归档 4.点击进去,同意协议,然后

Python小爬虫-自动下载三亿文库文档

新手学python,写了一个抓取网页后自动下载文档的脚本,和大家分享. 首先我们打开三亿文库下载栏目的网址,比如专业资料(IT/计算机/互联网)http://3y.uu456.com/bl-197?od=1&pn=0,可以观察到,链接中pn=后面的数字就是对应的页码,所以一会我们会用iurl = 'http://3y.uu456.com/bl-197?od=1&pn=',后面加上页码来抓取网页. 一般网页会用1,2,3...不过机智的三亿文库用0,25,50...来表示,所以我们在拼接ur

jsoup爬虫简书首页数据做个小Demo

昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固,比如java反射注解,知道一点就是说不出来,很尴尬- 生命不止,学习不止啊 之前那个项目 QNews 用的是的第三方的数据平台,所以访问次数会有限制,这就很无奈... 我的博客地址 每天只能请求100次-.但是LZ这个穷屌丝也买不起服务器,所以就上网查,有什么别的方法可以获取数据,意外之间发现了jsoup这个强大的框架,就花了上午时间学习了一下,然后下午做了一个小Demo,功能比较单一,请见谅

中国寒龙社工包v3.34 6.1升级版本已经发布 具体请到官网下载!!感谢支持!~~~~~不会升级的请到咱们交流群!本程序在windowsxp下最为兼容 感谢支持!如果有BUG请反馈!!

寒龙社会工程包:http://pan.baidu.com/s/1dDcilBb当你看到 中国寒龙V3.34 6.1版本的发布  那么本工具包将更强大的 展现了工具包的价值! 本次开发由by:寒龙升级  感谢大家支持 如果有各位小组的支持 本人不谢感激! 当然本站内的工具包 可以提供专门店小组工具包 制作!承接QQ群:94588528 本次手动升级  修复一下几点的不足! v3.33版本出现的  各种打不开的问题 v3.33版本中出现 主程序远控不能配置的问题 v3.33版本 部分 文件夹不能打开

使用webcollector爬虫技术获取网易云音乐全部歌曲

最近在知乎上看到一个话题,说使用爬虫技术获取网易云音乐上的歌曲,甚至还包括付费的歌曲,哥瞬间心动了,这年头,好听的流行音乐或者经典老歌都开始收费了,只能听不能下载,着实很郁闷,现在机会来了,于是开始研究爬虫技术,翻阅各种资料,最终选择网友们一致认为比较好用的webcollector框架来实现. 首先,我们来认识一下webcollector,webcollector是一个无需配置,便于二次开发的爬虫框架,它提供精简的API,只需少量代码即可实现一个功能强大的爬虫,webcollector+hado

python速成第二篇(小爬虫+文件操作+socket网络通信小例子+oop编程)

大家好,由于前天熬夜写完第一篇博客,然后昨天又是没休息好,昨天也就不想更新博客,就只是看了会资料就早点休息了,今天补上我这两天的所学,先记录一笔.我发现有时候我看的话会比较敷衍,而如果我写出来(无论写到笔记本中还是博客中,我都有不同的感觉)就会有不同的想法,我看书或者看资料有时候感觉就是有一种惰性,得过且过的感觉,有时候一个知识想不通道不明,想了一会儿,就会找借口给自己说这个知识不重要,不需要太纠结了,还是去看下一个吧,然后就如此往复下去,学习就会有漏洞,所以这更加坚定了我写博客来记录的想法.