下载视频:

 1 from bs4 import BeautifulSoup
2 import requests
3 import re
4 import urllib
5
6
7 def callbackfunc(blocknum, blocksize, totalsize):
8 '''回调函数
9 @blocknum: 已经下载的数据块
10 @blocksize: 数据块的大小
11 @totalsize: 远程文件的大小
12 '''
13 percent = 100.0 * blocknum * blocksize / totalsize
14 if percent > 100:
15 percent = 100
16 print ("%.2f%%"% percent)
17
18
19
20 ur = 'http://www.budejie.com/video/'
21
22 def get_htmls(url):
23 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
24 html = requests.get(url,headers=headers)
25 #print(type(html.text))
26 soup =BeautifulSoup(html.text,'html.parser')
27 result1 = soup.find(attrs={'class':'j-video-c','data-title':True})
28 result2 = soup.find(attrs={'class': 'j-video', 'data-mp4': True})
29 nam = result1.get('data-title')
30 url = result2.get('data-mp4')
31 local = 'e:\\'+str(nam)+'.mp4'
32 urllib.request.urlretrieve(url, local, callbackfunc)
33
34 if __name__ == '__main__':
35 get_htmls(ur)

下载小说:

 1 from bs4 import BeautifulSoup
2 import requests
3 import re
4 from openpyxl import load_workbook
5 from openpyxl.utils import get_column_letter
6
7 #这一部分是存链接的
8 '''
9 # 设置文件 mingc
10 addr = "1.xlsx"
11 # 打开文件
12 wb = load_workbook(addr)
13 # 创建一张新表
14 ws = wb.create_sheet()
15 # 第一行输入
16 #ws.append(['TIME', 'TITLE', 'A-Z'])
17 ws['A1'] = '章节'
18 ws['B1'] = '链接
19 '''
20 links = []
21 ur = 'https://www.qb5200.tw/xiaoshuo/2/2155/'
22 def get_one_page(url,ok):
23 headers = {
24
25 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763'}
26
27 html = requests.get(url,headers=headers)
28 html.encoding = 'gbk'
29 #print(html.content)
30 if ok == True:
31 get_parsing(html)
32 else :
33 return html
34
35 def get_parsing(html):
36 soup = BeautifulSoup(html.content,'html.parser')
37 dd = soup.findAll(['dt',['dd']])
38 result = False
39
40 #counts =2
41 co = 0
42 for one in dd:
43 #print(type(one))
44 if one.string=='《龙王传说》正文卷':
45 #ws.title = one.string
46 result = True
47 if result == True and one.name == 'dd':
48 link = one.a.get('href')
49 links.append(link) #注意这里是传入元组、列表、字典
50 '''
51 st = one.a.string
52 data = [++co,ur+link]
53 ws.append(data)
54 '''
55
56 def get_htmls():
57 i=1000
58 results = links[1000:]
59 for link in results:
60 i+=1
61 url = ur+link
62 path='龙3.txt'
63 html = get_one_page(url,False)
64 soup = BeautifulSoup(html.content, 'html.parser')
65 name = soup.find(attrs={'class':'content','id':False})
66 names = name.h1.string
67 div = soup.find('div',attrs={'class':'showtxt'})
68 with open(path,'a',encoding='utf8') as f:
69 f.write(names + '\n')
70 for string in div.stripped_strings:
71 f.write(string+'\n')
72
73 if i%10 == 0:
74 print(i)
75 if i==1300:
76 break
77
78
79
80 if __name__ == '__main__':
81 get_one_page('https://www.qb5200.tw/xiaoshuo/2/2155/',True)
82 #wb.save(addr)
83 get_htmls()

python爬虫下载小视频和小说(基础)的更多相关文章

  1. (Python基础教程之二十二)爬虫下载网页视频(video blob)

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  2. 小白学 Python 爬虫(17):Requests 基础使用

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. 小白学 Python 爬虫(8):网页基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  4. python爬虫下载文件

    python爬虫下载文件 下载东西和访问网页差不多,这里以下载我以前做的一个安卓小游戏为例 地址为:http://hjwachhy.site/game/only_v1.1.1.apk 首先下载到内存 ...

  5. Python爬虫爬取全书网小说,程序源码+程序详细分析

    Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

  6. 小白学 Python 爬虫(11):urllib 基础使用(一)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 小白学 Python 爬虫(12):urllib 基础使用(二)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  8. 小白学 Python 爬虫(13):urllib 基础使用(三)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. 小白学 Python 爬虫(14):urllib 基础使用(四)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

随机推荐

  1. pyi文件是干嘛的?(一文读懂Python的存根文件和类型检查)

    参考资料: https://blog.csdn.net/weixin_40908748/article/details/106252884 https://www.python.org/dev/pep ...

  2. 面试官:Netty的线程模型可不只是主从多Reactor这么简单

    笔者看来Netty的内核主要包括如下图三个部分: 其各个核心模块主要的职责如下: 内存管理 主要提高高效的内存管理,包含内存分配,内存回收. 网通通道 复制网络通信,例如实现对NIO.OIO等底层JA ...

  3. MySQL查询优化之 index 索引的分类和使用

    索引的分类 主键索引 (PRIMARY KEY) 唯一的标识符, 主键不可重复, 只能有一列作为主键 唯一索引 (Unique KEY) 避免重复的列出现, 唯一索引可以重复, 多个列都可以标识为唯一 ...

  4. 【Nginx】使用keepalive和nginx搭载高可用

    首先介绍一下Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现web服务端的高可用. Keepa ...

  5. Upload - Labs (下)

    Pass - 11: 1.查看源代码,发现进行了一次对后缀名替换成空格,因此考虑双写绕过, 2.上传成功, 关键代码: $is_upload = false; $msg = null; if (iss ...

  6. 笔记 | 吴恩达新书《Machine Learning Yearning》

    这本书共112页,内容不多,偏向于工程向,有很多不错的细节,在此记录一下. 0 书籍获取 关注微信公众号"机器学习炼丹术",回复[MLY]获取pdf 1 测试集与训练集的比例 2 ...

  7. 什么是 MVC 模式

    概述 MVC,即 Model 模型.View 视图,及 Controller 控制器. View:视图,为用高糊提供使用界面,与用户直接进行交互. Model:模型,承载数据,并对用户提交请求进行计算 ...

  8. 1、剑指offer-数组——二维数组中的查找

    *题目描述* **在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含 ...

  9. Hash Map集合和Hash Set集合

    HashMap集合的使用 1.1.每个集合对象的创建(new) 1.2.从集合中添加元素 1.3.从集合中取出某个元素 1.4.遍历集合 public class HashMapTest { publ ...

  10. JDBC基础:JDBC快速入门,JDBC工具类,SQL注入攻击,JDBC管理事务

    JDBC基础 重难点梳理 一.JDBC快速入门 1.jdbc的概念 JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以 ...