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 20 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
Python使用re模块验证危险字符
May 21 Python
Python astype(np.float)函数使用方法解析
Jun 08 Python
python要安装在哪个盘
Jun 15 Python
如何解决安装python3.6.1失败
Jul 01 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 Python
用python自动生成日历
Apr 24 Python
pytorch 6 batch_train 批训练操作
May 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
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
header导出Excel应用示例
2014/01/24 PHP
Yii使用技巧大汇总
2015/12/29 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
javascript使用activex控件的代码
2011/01/27 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
Python正则表达式分组概念与用法详解
2017/06/24 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Python中字符串与编码示例代码
2019/05/20 Python
python实现udp传输图片功能
2020/03/20 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
大学生先进事迹材料
2014/02/16 职场文书
高中生家长寄语大全
2014/04/03 职场文书
综合内勤岗位职责
2014/04/14 职场文书
真诚的求职信
2014/07/04 职场文书