python爬虫中线程池如何创建并获取文件-创新互联
小编给大家分享一下python爬虫中线程池如何创建并获取文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

python的五大特点是什么
python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。
利用线程池进行视频爬取
#爬取梨视频数据
import requests
import re
from lxml import etree
from multiprocessing.dummy import Pool
import random
# 定义获取视频数据方法
def getVideoData(url): # url为列表中的视频url
return requests.get(url=url,headers=headers).content
# 定义存储数据方法
def saveVideo(data):
fileName = str(random.randint(0,5000))+'.mp4'
with open(fileName,'wb') as fp:
fp.write(data)
# 爬取数据
#实例化一个线程池对象,开启5个线程池
pool = Pool(5)
url = 'https://www.pearvideo.com/category_1'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'
}
page_text = requests.get(url=url,headers=headers).text
tree = etree.HTML(page_text)
li_list = tree.xpath('//div[@id="listvideoList"]/ul/li')
video_url_list = [] # 存的是将要下载视频的url
for li in li_list:
detail_url = 'https://www.pearvideo.com/'+li.xpath('./div/a/@href')[0]
detail_page = requests.get(url=detail_url,headers=headers).text
#因为视频连接不在标签汇中,而是一个js语句,所以用正则匹配
video_url = re.findall('srcUrl="(.*?)",vdoUrl',detail_page,re.S)[0]
video_url_list.append(video_url)
# map函数的应用:参数1:回调函数,参数2:列表;
#将列表中的参数赋值给回调函数的形参,让回调函数处理
video_data_list = pool.map(getVideoData,video_url_list)
pool.map(saveVideo,video_data_list)以上是“python爬虫中线程池如何创建并获取文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页题目:python爬虫中线程池如何创建并获取文件-创新互联
网页链接:http://www.jxjierui.cn/article/dpohph.html


咨询
建站咨询
