问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python爬虫通俗点讲是什么

发布网友 发布时间:2022-04-21 16:59

我来回答

2个回答

懂视网 时间:2022-05-10 10:27

本篇文章给大家带来的内容是关于Python爬虫爬取视频的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最近在写一个应用,需要收集微博上一些热门的视频,像这些小视频一般都来自秒拍,微拍,美拍和新浪视频,而且没有下载的选项,所以只能动脑想想办法了。

第一步

分析网页源码。 例如:http://video.weibo.com/show?fid=1034:0988e59a12e5178acb7f23adc3fe5e97,右键查看源码,一般视频都是mp4后缀,搜索发现没有,但是有的直接就能看到了比如美拍的视频。

第二步

抓包,分析请求和返回。这个也可以通过强大的chrome实现,还是上面的例子,右键->审查元素->NetWork,然后F5刷新网页
20151203201133218.png

发现有很多请求,只能一条一条的分析了,其实视频格式就是那几种mp4,flv,avi了,一下就能看到了,复制到浏览器中打开,果然就是我们想要的下载链接了。
20151203201731077.png

第三步

分析下载链接和视频链接的规律。即http://video.weibo.com/show?fid=1034:0988e59a12e5178acb7f23adc3fe5e97与xxx.mp4的关系。这个又需要分析网页源码了,其实可以注意上面那个以.m3u8后缀的链接,m3u8记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放,打开看,里面确实记录着我们想要的下载链接。而且.m3u8后缀的链接就在网页源码中。
20151203202540919.png

总结

经过前三步的分析,获取视频下载链接的思路就是先从网页源码中获取.m3u8后缀的链接,下载该文件,从里面得到视频下载链接,最后下载视频就好了

源码

#sinavideo.py
#coding=utf-8
import os
import re
import urllib2
import urllib 
from common import Common
class SinaVideo():

 URL_PIRFIX = "http://us.sinaimg.cn/"
 def getM3u8(self,html):
 reg = re.compile(r'list=([sS]*?)&fid')
 result = reg.findall(html)
 return result[0]


 def getName(self,url):
  return url.split('=')[1]

 def getSinavideoUrl(self,filepath):
 f = open(filepath,'r')
 lines = f.readlines()
 f.close()
 for line in lines:
  if line[0] !='#':
  return line

 def download(self,url,filepath):
 #获取名称
 name = self.getName(url)
 html = Common.getHtml(url)
 m3u8 = self.getM3u8(html)
 Common.download(urllib.unquote(m3u8),filepath,name + '.m3u8')
 url = self.URL_PIRFIX + self.getSinavideoUrl(filepath+name+'.m3u8')
 Common.download(url,filepath,name+'.mp4')
#common.py
#coding=utf-8
import urllib2
import os
import re


class Common():
 # 获取网页源码
 @staticmethod
 def getHtml(url):
 html = urllib2.urlopen(url).read()
 print "[+]获取网页源码:"+url
 return html

 # 下载文件
 @staticmethod
 def download(url,filepath,filename):
 headers = {
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  'Accept-Charset': 'UTF-8,*;q=0.5',
  'Accept-Encoding': 'gzip,deflate,sdch',
  'Accept-Language': 'en-US,en;q=0.8',
  'User-Agent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36'
 }
 request = urllib2.Request(url,headers = headers);
 response = urllib2.urlopen(request)
 path = filepath + filename
 with open(path,'wb') as output:
  while True:
  buffer = response.read(1024*256);
  if not buffer:
   break
  # received += len(buffer)
  output.write(buffer)

 print "[+]下载文件成功:"+path

 @staticmethod
 def isExist(filepath):
 return os.path.exists(filepath)

 @staticmethod
 def createDir(filepath):
  os.makedirs(filepath,0777)

调用方式:

 url = "http://video.weibo.com/show?fid=1034:0988e59a12e5178acb7f23adc3fe5e97"sinavideo = SinaVideo()  
 sinavideo.download(url,""/Users/cheng/Documents/PyScript/res/"")

结果

20151203203520206.png

热心网友 时间:2022-05-10 07:35

世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据分析、挖掘、机器学习等提供重要的数据源。什么是爬虫?网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维*息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。爬虫可以做什么?你可以用爬虫爬图片,爬取视频等等你想要爬取的数据,只要你能通过浏览器访问的数据都可以通过爬虫获取。爬虫的本质是什么?模拟浏览器打开网页,获取网页中我们想要的那部分数据浏览器打开网页的过程:当你在浏览器中输入地址后,经过DNS服务器找到服务器主机,向服务器发送一个请求,服务器经过解析后发送给用户浏览器结果,包括html,js,css等文件内容,浏览器解析出来最后呈现给用户在浏览器上看到的结果。所以用户看到的浏览器的结果就是由HTML代码构成的,我们爬虫就是为了获取这些内容,通过分析和过滤html代码,从中获取我们想要资源。
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python爬虫通俗点讲是什么的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样让孩子主动找老师补课? 表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 想学习Python爬虫,有什么推荐的书或者教程吗? python爬虫 入门需要哪些基础 python 爬虫怎么入门 沈阳共享办公室怎么样?租共享办公室需要注意什么? 租的办公室要收停车费。3小时免费。是不是到了三小... 成立公司租用共享办公室可以吗?具体怎么操作 共享办公贵吗?性价比高不高? 共享办公空间是怎么收费的? 共享办公空间如何收费 共享办公贵不贵? 想要在上海短租办公室,问问上海这边共享办公室的... 共享办公贵不贵?值不值得租? 北京共享办公室除了租金还有其他费用吗? 共享办公室出租贵不贵? 西安共享办公室按天计费 上海共享办公室出租价格多少钱? 有人了解共享办公租金是多少吗? 共享办公空间是怎么收费的? 北京共享办公室租金费用含了什么?需要额外再付哪... 共享办公租金多少?性价比高不高? 电脑任务栏中的天气图标变成了其他的图标怎样改回来? 开机启动突然任务栏多了个天气软件,不知道是什么? win10右下方任务栏为什么显示美国天气 微软pro4右下面任务栏的天气怎样更新 四君子汤有什么副作用,我老婆喝四君子汤十几天了... 四君子汤什么人不适合食用? 喝四君子汤有什么禁忌 四君子汤是不是每种体质的人都可以喝 茯苓,白术,党参,山药各10克,大枣5个,这个一起... 四君子汤是不会加重湿气,我脾胃虚弱,而且有点拉肚子 请问:四君子汤是否可以长期服用? 四君子汤对咽喉炎有害吗 四君子汤对咽喉炎有害吗 中药四君子汤的作用? 中药四君子汤的作用? 四君子汤有什么作用? 四君子汤有什么作用? 四君子汤,请问换成成药是什么药?有没有副作用? 四君子汤,请问换成成药是什么药?有没有副作用? 四君子汤可以下奶吗