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+Django在windows下的开发环境配置图解
Nov 11 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
Jul 04 Python
python中使用print输出中文的方法
Jul 16 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 Python
Python中使用Lambda函数的5种用法
Apr 01 Python
Python使用Kubernetes API访问集群
May 30 Python
pandas中对文本类型数据的处理小结
Nov 01 Python
python中的random模块和相关函数详解
Apr 22 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
php实现网站插件机制的方法
2009/11/10 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
原型方法的不同写法居然会影响调试的解决方法
2007/03/08 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
python os用法总结
2018/06/08 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
Python数学形态学实例分析
2019/09/06 Python
python如何查看安装了的模块
2020/06/23 Python
python批量修改交换机密码的示例
2020/09/22 Python
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
人力资源行政经理自我评价
2013/10/23 职场文书
医院学雷锋活动策划方案
2014/02/15 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
校园运动会广播稿
2015/08/19 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书