Python爬取豆瓣视频信息代码实例

这篇文章主要介绍了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.输入天气之子

2.输入百变小樱魔法卡

必须是已经上映的电影才有观看地址

3.独立日

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python多线程爬取豆瓣影评API接口

    爬虫库 使用简单的requests库,这是一个阻塞的库,速度比较慢. 解析使用XPATH表达式 总体采用类的形式 多线程 使用concurrent.future并发模块,建立线程池,把future对象扔进去执行即可实现并发爬取效果 数据存储 使用Python ORM sqlalchemy保存到数据库,也可以使用自带的csv模块存在CSV中. API接口 因为API接口存在数据保护情况,一个电影的每一个分类只能抓取前25页,全部评论.好评.中评.差评所有分类能爬100页,每页有20个数据,即最多为

  • python爬虫爬取幽默笑话网站

    爬取网站为:http://xiaohua.zol.com.cn/youmo/ 查看网页机构,爬取笑话内容时存在如下问题: 1.每页需要进入"查看更多"链接下面网页进行进一步爬取内容每页查看更多链接内容比较多,多任务进行,这里采用线程池的方式,可以有效地控制系统中并发线程的数量.避免当系统中包含有大量的并发线程时,导致系统性能下降,甚至导致 Python 解释器崩溃,引入线程池,花费时间更少,更效率. 创建线程 池threadpool.ThreadPool() 创建需要线程池处理的任务即

  • python爬虫之爬取百度音乐的实现方法

    在上次的爬虫中,抓取的数据主要用到的是第三方的Beautifulsoup库,然后对每一个具体的数据在网页中的selecter来找到它,每一个类别便有一个select方法.对网页有过接触的都知道很多有用的数据都放在一个共同的父节点上,只是其子节点不同.在上次爬虫中,每一类数据都要从其父类(包括其父节点的父节点)上往下寻找ROI数据所在的子节点,这样就会使爬虫很臃肿,因为很多数据有相同的父节点,每次都要重复的找到这个父节点.这样的爬虫效率很低. 因此,笔者在上次的基础上,改进了一下爬取的策略,笔者以

  • Python爬虫爬取Bilibili弹幕过程解析

    先来思考一个问题,B站一个视频的弹幕最多会有多少? 比较多的会有2000条吧,这么多数据,B站肯定是不会直接把弹幕和这个视频绑在一起的. 也就是说,有一个视频地址为https://www.bilibili.com/video/av67946325,你如果直接去requests.get这个地址,里面是不会有弹幕的,回想第一篇说到的携程异步加载数据的方式,B站的弹幕也一定是先加载当前视频的界面,然后再异步填充弹幕的. 接下来我们就可以打开火狐浏览器(平常可以火狐谷歌控制台都使用,因为谷歌里面因为插件

  • Python爬取破解无线网络wifi密码过程解析

    前言 今天从WiFi连接的原理,再结合代码为大家详细的介绍如何利用python来破解WiFi. Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便.wifi跟我们的生活息息相关,无处不在. 如何连接wifi 首先我们的电脑是如何连接wifi的呢?就拿我们的笔记本电脑来说,我们的笔记本电脑都有无线网卡,如下图所示: 当我们连接WiFi时,无线网卡会自动帮助我们扫描附近的WiFi信号,并且会返回WiFi信号的一些信息,包括了网络的名称(

  • python实现的爬取电影下载链接功能示例

    本文实例讲述了python实现的爬取电影下载链接功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=UTF-8 import sys import urllib2 import os import chardet from bs4 import BeautifulSoup reload(sys) sys.setdefaultencoding("utf-8") #从电影html页面中获取视频下载地址 def get_movie_download_u

  • python爬取Ajax动态加载网页过程解析

    常见的反爬机制及处理方式 1.Headers反爬虫 :Cookie.Referer.User-Agent 解决方案: 通过F12获取headers,传给requests.get()方法 2.IP限制 :网站根据IP地址访问频率进行反爬,短时间内进制IP访问 解决方案: 1.构造自己IP代理池,每次访问随机选择代理,经常更新代理池 2.购买开放代理或私密代理IP 3.降低爬取的速度 3.User-Agent限制 :类似于IP限制 解决方案: 构造自己的User-Agent池,每次访问随机选择 5.

  • 用Python爬取QQ音乐评论并制成词云图的实例

    环境:Ubuntu16.4 python版本:3.6.4 库:wordcloud 这次我们要讲的是爬取QQ音乐的评论并制成云词图,我们这里拿周杰伦的等你下课来举例. 第一步:获取评论 我们先打开QQ音乐,搜索周杰伦的<等你下课>,直接拉到底部,发现有5000多页的评论. 这时候我们要研究的就是怎样获取每页的评论,这时候我们可以先按下F12,选择NetWork,我们可以先点击小红点清空数据,然后再点击一次,开始监控,然后点击下一页,看每次获取评论的时候访问获取的是哪几条数据.最后我们就能看到下图

  • Python爬取豆瓣视频信息代码实例

    这篇文章主要介绍了Python爬取豆瓣视频信息代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quotefrom pyquery import PyQuery as pqimport requestsimport pandas as pddef get_text_page (movie_name)

  • Python爬取附近餐馆信息代码示例

    本代码主要实现抓取大众点评网中关村附近的餐馆有哪些,具体如下: import urllib.request import re def fetchFood(url): # 模拟使用浏览器浏览大众点评的方式浏览大众点评 headers = {'User-Agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'} ope

  • Python爬虫——爬取豆瓣电影Top250代码实例

    利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Excel表中.基本上爬取结果还是挺好的.具体代码如下: #!/usr/bin/python #-*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') from bs4 import BeautifulSoup imp

  • Python爬取12306车次信息代码详解

    详情查看下面的代码: 如果被识别就要添加一个cookie如果没有被识别的话就要一个user-agent就好了.如果出现乱码就设置编码格式为utf-8 #静态的数据一般在elements中(复制文字到sources按ctrl+f搜索.找到的为静态),而动态去network中去寻找相关的信息 import requests import re def send_request(): headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win6

  • Python爬虫实现的根据分类爬取豆瓣电影信息功能示例

    本文实例讲述了Python爬虫实现的根据分类爬取豆瓣电影信息功能.分享给大家供大家参考,具体如下: 代码的入口: if __name__ == '__main__': main() #! /usr/bin/python3 # -*- coding:utf-8 -*- # author:Sirius.Zhao import json from urllib.parse import quote from urllib.request import urlopen from urllib.reque

  • Python实现的爬取豆瓣电影信息功能案例

    本文实例讲述了Python实现的爬取豆瓣电影信息功能.分享给大家供大家参考,具体如下: 本案例的任务为,爬取豆瓣电影top250的电影信息(包括序号.电影名称.导演和主演.评分以及经典台词),并将信息作为字典形式保存进txt文件.这里只用到requests库,没有用到beautifulsoup库 step1:首先获取每一页的源代码,用requests.get函数获取,为了防止请求错误,使用try...except.. def getpage(url): try: res=requests.get

  • python爬取豆瓣电影排行榜(requests)的示例代码

    '''   爬取豆瓣电影排行榜   设计思路:        1.先获取电影类型的名字以及特有的编号        2.将编号向ajax发送get请求获取想要的数据        3.将数据存放进excel表格中 ''' 环境部署: 软件安装: Python 3.7.6 官网地址:https://www.python.org/ 安装地址:https://www.python.org/ftp/python/3.7.6/python-3.7.6-amd64.exe PyCharm 2020.2.2

  • python登录并爬取淘宝信息代码示例

    本文主要分享关于python登录并爬取淘宝信息的相关代码,还是挺不错的,大家可以了解下. #!/usr/bin/env python # -*- coding:utf-8 -*- from selenium import webdriver import time import datetime import traceback import logging import os from selenium.webdriver.common.action_chains import ActionC

  • Python爬取qq空间说说的实例代码

    具体代码如下所示: #coding:utf-8 #!/usr/bin/python3 from selenium import webdriver import time import re import importlib2 import sys importlib2.reload(sys) def startSpider(): driver = webdriver.Chrome('/Users/zachary/zachary/chromedriver.exe') #这个是chormedriv

  • python使用beautifulsoup4爬取酷狗音乐代码实例

    这篇文章主要介绍了python使用beautifulsoup4爬取酷狗音乐代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 小编经常在网上听一些音乐但是有一些网站好多音乐都是付费下载的正好我会点爬虫技术,空闲时间写了一份,截止4月底没有问题的,会下载到当前目录,只要按照bs4库就好, 安装方法:pip install beautifulsoup4 完整代码如下:双击就能直接运行 from bs4 import BeautifulSoup

随机推荐