Python爬取豆瓣视频信息代码实例


Posted in Python onNovember 16, 2019

这篇文章主要介绍了Python爬取豆瓣视频信息代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这里是爬取豆瓣视频信息,用pyquery库(jquery的python库)。

一:代码

from urllib.request
import quotefrom pyquery
import PyQuery as pqimport requestsimport pandas as pddef get_text_page
	(movie_name): ''
'  函数功能:获得指定电影名的源代码  参数:电影名  返回值:电影名结果的源代码  '
''
url =
	'https://www.douban.com/search?q=' +
	movie_name headers = {
		'Host': 'www.douban.com',
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36',
	}
r = requests.get(url, headers = headers,
	timeout = 5) return r.textdef get_last_url(
	this_text): ''
'  函数功能:根据指定的源代码得到最终的网页地址  参数:搜索结果源代码  返回值:最终的网页地址  '
''
doc = pq(this_text) lis = doc(
		'.title a').items() k = 0 this_str =
	''
for i in lis: #print('豆瓣搜索结果为:{0}'.format(
	i.text()))# print('地址为:{0}'.format(i.attr
	.href))# print('\n') if k == 0:
	this_str = i.attr.href k += 1
return this_strdef the_last_page(
	this_url): ''
'  函数功能:获得最终电影网页的源代码  参数:最终的地址  返回值:最终电影网页的源代码  '
''
headers = {
	'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36',
}
r = requests.get(this_url, headers =
	headers, timeout = 20) return r.textdef the_last_text(
	this_text, movie_name): ''
'  函数功能:获得每一项的数据  参数:爬取页面的源代码  返回值:返回空  '
''
doc = pq(this_text)# 获取标题 title = doc(
		'#content h1').text()# 获取海报 photo =
	doc('.nbgnbg img') photo_url = photo.attr
	.src r = requests.get(photo_url) with open(
		'{m}.jpg'.format(m = movie_name),
		'wb') as f: f.write(r.content)# 电影信息 message =
	doc('#info').text()# 豆瓣评分 grade = doc(
		'#interest_sectl').text()# 剧情 things =
	doc('.related-info').text() with open(
		'{0}.txt'.format(movie_name), 'w+') as f:
	try: f.writelines([title, '\n', '\n\n',
		message, '\n\n', grade, '\n\n',
		things
	]) except: f.writelines([title, '\n',
		'\n\n', message, '\n\n', grade
	])# 演员# 演员名 name = [] person_name =
	doc('.info').items() for i in
	person_name: name.append(i.text())# 演员图片地址 person_photo =
	doc('#celebrities') j = 0
for i in person_photo.find('.avatar').items():
	m = i.attr('style') person_download_url =
	m[m.find('(') + 1: m.find(')')]# 下载演员地址 r =
	requests.get(person_download_url) try:
	with open('{name}.jpg'.format(name =
		name[j]), 'wb') as f: f.write(r.content) except:
	continue j += 1 def lookUrl(this_text,
		my_str): ''
'  函数功能:获得观看链接  参数:爬取页面的源代码  返回值:返回空  '
''
doc = pq(this_text) all_url = doc(
	'.bs li a').items() movie_f = [] movie_url = []
for i in all_url: movie_f.append(i.text()) movie_url
	.append(i.attr.href) dataframe = pd.DataFrame({
		'观看平台': movie_f,
		'观看地址': movie_url
	}) dataframe.to_csv(
		"{movie_name}的观看地址.csv".format(
			movie_name = my_str), index = False,
		encoding = 'utf_8_sig', sep = ',') def main():
	name = input('') my_str = name movie_name =
	quote(my_str) page_text =
	get_text_page(movie_name)# 得指定电影名的源代码 last_url =
	get_last_url(page_text)# 根据指定的源代码得到最终的网页地址 page_text2 =
	the_last_page(last_url)# 获得最终电影网页的源代码 the_last_text(
		page_text2, my_str)# 获得每一项的数据 lookUrl(
		page_text2, my_str)# 得到并处理观看链接main()

二:结果如下(部分例子)

1.输入天气之子

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

2.输入百变小樱魔法卡

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

必须是已经上映的电影才有观看地址

3.独立日

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

Python爬取豆瓣视频信息代码实例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python学习笔记:字典的使用示例详解
Jun 13 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
使用Python实现简单的服务器功能
Aug 25 Python
tensorflow获取变量维度信息
Mar 10 Python
浅谈python中get pass用法
Mar 19 Python
python日志模块logbook使用方法
Sep 19 Python
python 实现单通道转3通道
Dec 03 Python
PyTorch的SoftMax交叉熵损失和梯度用法
Jan 15 Python
Python求区间正整数内所有素数之和的方法实例
Oct 13 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 Python
python munch库的使用解析
May 25 Python
Pandas数据离散化原理及实例解析
Nov 16 #Python
python实现XML解析的方法解析
Nov 16 #Python
Python实现自定义读写分离代码实例
Nov 16 #Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
Nov 16 #Python
基于python实现雪花算法过程详解
Nov 16 #Python
Python大数据之使用lxml库解析html网页文件示例
Nov 16 #Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 #Python
You might like
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
PDO::quote讲解
2019/01/29 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
[JS]点出统计器
2020/10/11 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
vue监听对象及对象属性问题
2018/08/20 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
pygame实现打字游戏
2021/02/19 Python
python定时任务 sched模块用法实例
2019/11/04 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
python 等差数列末项计算方式
2020/05/03 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
法律进企业活动方案
2014/03/04 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
教师师德演讲稿
2014/05/06 职场文书
绘画专业自荐信
2014/07/04 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
解除劳动合同协议书
2014/09/17 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
保护校园环境倡议书
2015/04/28 职场文书
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis