python爬取百思不得姐视频
# _*_ coding:utf-8 _*_
from Tkinter import *
from ScrolledText import ScrolledText
import urllib
#import requests
import urllib2
#import pygame
import re
import threading
import time url_name=[]#放置地址 名称
a=1#代表页数
def get():
global a#改变全局变量
hd={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
url='http://www.budejie.com/video/'+str(a)
varl.set('已经获取到第%s的视频'%a)
opener=urllib2.build_opener()
request=urllib2.Request(url,None,hd)
result=opener.open(request).read()
url_content=re.compile(r'(<div class="j-r-list-c">.*?</div>.*?</div>)',re.S)#re.S匹配换行符
url_contents=re.findall(url_content,result)
# for iterm in url_contents:
# print iterm
url_reg = r'data-mp4="(.*?)">'
for iterm in url_contents:
url_items=re.findall(url_reg,iterm)
#print url_items
if url_items:#如果有视频存在,就匹配名字,如果是其他格式,则跳过
name_reg=re.compile(r'<a .*?>(.*?)</a>',re.S)
name_items=re.findall(name_reg,iterm)
#print name_items
for name,url in zip(name_items,url_items):
url_name.append([name,url])
print name,url
return url_name
id=1#视频个数
def write():
global id
while id<10:
url_name=get()#获取视频和名字
for iterm in url_name:
urllib.urlretrieve(iterm[1],'%s.mp4' % (iterm[0].decode('utf-8').encode('gbk')))#下载
text.insert(END,str(id)+'.'+iterm[1]+'\n'+iterm[0]+'\n')
url_name.pop(0)#删除第一个元素
id+=1
varl.set('抓取完成')
def start():
th=threading.Thread(target=write)
th.start()#运行线程 root=Tk()
root.title=('视频下载')
text=ScrolledText(root,font=('微软雅黑',10))
text.grid()#实现布局方法
button=Button(root,text='开始爬取',font=('微软雅黑',10),command=start)
button.grid()
varl=StringVar()#通过tk方法绑定一个变量 label=Label(root,font=('微软雅黑',10),fg='red',textvariable=varl)
varl.set('熊猫已准备....')
label.grid()
root.mainloop()
python爬取百思不得姐视频的更多相关文章
- python爬取豆瓣视频信息代码
目录 一:代码 二:结果如下(部分例子) 这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quote ...
- python爬取快手视频 多线程下载
就是为了兴趣才搞的这个,ok 废话不多说 直接开始. 环境: python 2.7 + win10 工具:fiddler postman 安卓模拟器 首先,打开fiddler,fiddler作为htt ...
- python爬取youtube视频 多线程 非中文自动翻译
声明:我写的所有文章都是发在博客园的,我看到其他复制粘贴过去的 连个出处也不写,直接打上自己的水印...真是没的说了. 前言:前段时间搞了一些爬视频的项目,代码都写好了,这里写文章那就在来重新分析一遍 ...
- python 爬取bilibili 视频信息
抓包时发现子菜单请求数据时一般需要rid,但的确存在一些如游戏->游戏赛事不使用rid,对于这种未进行处理,此外rid一般在主菜单的响应中,但有的如番剧这种,rid在子菜单的url中,此外返回的 ...
- python 爬取bilibili 视频弹幕
# -*- coding: utf-8 -*- # @author: Tele # @Time : 2019/04/09 下午 4:50 # 爬取弹幕 import requests import j ...
- python爬取网站视频保存到本地
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Woo_home PS:如有需要Python学习资料的小伙伴可以加点 ...
- python 爬取头条视频
知识点总结 1. 利用webdriver 模拟浏览器访问 from selenium import webdriver 2.import requests 3. from bs4 import Bea ...
- 2019-02-09 python爬取mooc视频项目初级简单版
今天花了一下午时间来做这东西,之前没有自己写过代码,50几行的代码还是查了很多东西啊,果然学起来和自己动起手来完全是两码事. 方案:requests库+正则表达式提取视频下载链接+urlretriev ...
- python爬虫:爬取网站视频
python爬取百思不得姐网站视频:http://www.budejie.com/video/ 新建一个py文件,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
随机推荐
- 〖Linux〗使用Qt5.2.0开发Android的NDK应用程序
2013年12月11日,Qt发布了其新的Qt版本:Qt5.2.0: 利用这个新的版本,我们可以很轻松地制作出Android手机的NDK应用程序. 开发环境:Ubuntu13.10 x86_64 下载链 ...
- 使用String 的 intern做锁提高并发能力
一个场景: 某段代码只对同一个ip过来的请求同步处理: 比如ip为a的请求进入了同步代码块,那么后续的ip为a的请求则在代码块外边等着,这时来了一个ip为b的请求,那么这个请求也可以进去,也就是a的所 ...
- glusterFS的部署流程
转自:http://www.cnblogs.com/terrycy/p/5915263.html GlusterFS简单配置 1.准备工作 准备三台机器(物理机或者虚拟机均可)用于安装和测试Glu ...
- DevExpress添加Winform窗体到DockPanel
在使用DevExpress过程中,原先已经创建好的导航窗体,如何添加到DockPanel中进行展示? FormX frmX = new FormX(); frmX.Show(this.DockPane ...
- rpcbind服务死活启动不了
在配置nfs的时候,想要实现nfs共享文件的权限共享,必须保证uid/gid一致,方可权限的传递! 错误提示 rpcbind dead but pid file exists 解决方案 service ...
- nginx error: upstream prematurely closed connection while reading response header from upstream
本篇文章由:http://xinpure.com/nginx-error-upstream-prematurely-closed-connection-while-reading-response-h ...
- leetcode48:矩阵旋转
题目链接 输入一个N×N的方阵,要求不开辟新空间,实现矩阵旋转. 将点(x,y)绕原点顺时针旋转90度,变为(y,-x).原来的(-y,x)变为(x,y) class Solution(object) ...
- 图标、图片、logo地址
阿里通信图标库 http://www.iconfont.cn/collections/show/29
- iOS NSString去除其他字符(空格回车符)
很多时候大家都需要对字符串进行处理.现在就对字符串删掉特殊字符的处理进行总结一下. 1.stringByTrimmingCharactersInSet 这个方法只能对字符串前后两个部分的特殊字符进行 ...
- 修改TreeList单元格格式(实现类似单元格合并效果)
关键点:(1)TreeList中显示的单元格默认不显示上.下.左.右边框,显示的是TreeList自身的行横边框.列纵边框,具体对应TreeList属性中OptionView项下的ShowVertLi ...