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 相关文章推荐
Python3基础之基本运算符概述
Aug 13 Python
Python制作简单的网页爬虫
Nov 22 Python
Python使用openpyxl读写excel文件的方法
Jun 30 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
python 把列表转化为字符串的方法
Oct 23 Python
python矩阵的转置和逆转实例
Dec 12 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 Python
opencv 获取rtsp流媒体视频的实现方法
Aug 23 Python
Python基于Socket实现简单聊天室
Feb 17 Python
Django用户身份验证完成示例代码
Apr 03 Python
Python jieba结巴分词原理及用法解析
Nov 05 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
操作Oracle的php类
2006/10/09 PHP
php 远程关机操作的代码
2008/12/05 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
django中的ajax组件教程详解
2018/10/18 PHP
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
python语言使用技巧分享
2016/05/31 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python实现大量图片重命名
2020/03/23 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
物流管理应届生求职信
2013/11/07 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
运动会广播稿400字
2014/01/25 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
团队口号大全
2014/06/06 职场文书
老兵退伍标语
2014/10/07 职场文书
2014年行政部工作总结
2014/11/19 职场文书
高中教师个人总结
2015/02/10 职场文书
分享python函数常见关键字
2022/04/26 Python