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实现简单的相似图片搜索的教程
Apr 23 Python
python在linux系统下获取系统内存使用情况的方法
May 11 Python
Python Requests 基础入门
Apr 07 Python
Python导入模块时遇到的错误分析
Aug 30 Python
Python异常的检测和处理方法
Oct 26 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
python函数定义和调用过程详解
Feb 09 Python
Python处理PDF与CDF实例
Feb 26 Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 Python
浅谈对python中if、elif、else的误解
Aug 20 Python
python两种获取剪贴板内容的方法
Nov 06 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
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
php简单判断文本编码的方法
2015/07/30 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
js获取url传值的方法
2015/12/18 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
django框架创建应用操作示例
2019/09/26 Python
django框架auth模块用法实例详解
2019/12/10 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
学python最电脑配置有要求么
2020/07/05 Python
迪奥美国官网:Dior美国
2019/12/07 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
体育学院毕业生自荐信
2013/11/03 职场文书
大学生职业生涯规划范文
2014/01/08 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
毕业生写求职信的要点
2014/03/04 职场文书