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 从远程服务器下载东西的代码
Feb 10 Python
python网络编程实例简析
Sep 26 Python
python求crc32值的方法
Oct 05 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
python实现弹窗祝福效果
Apr 07 Python
python实现图片中文字分割效果
Jul 22 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 Python
Python基于Webhook实现github自动化部署
Nov 28 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
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
JavaScript的Function详细
2006/11/14 Javascript
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
学习jQuey中的return false
2015/12/18 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
一个超级简单的python web程序
2014/09/11 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
python实现网页录音效果
2020/10/26 Python
浅析Python的命名空间与作用域
2020/11/25 Python
如何通过python检查文件是否被占用
2020/12/18 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
教学改革实施方案
2014/03/31 职场文书
个人授权委托书范文
2014/09/21 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
民事申诉状范本
2015/05/20 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
导游词之山海关
2019/12/10 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
Python采集股票数据并制作可视化柱状图
2022/04/04 Python
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript