我的编程空间,编程开发者的网络收藏夹
学习永远不晚

转载—Python抓取豆瓣电影

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

转载—Python抓取豆瓣电影

#!/usr/bin/python
# -*-coding:utf-8-*-
# Python:   2.7
# Program:  爬取豆瓣电影
 
from bs4 import BeautifulSoup
import urllib2, json, random, sys
 
reload(sys)
sys.setdefaultencoding('utf-8')
 
def get_data(url):
    my_headers = [
        'Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30',
        'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)',
        'Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.9.168 Version/11.50',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)']
    header = {"User-Agent": random.choice(my_headers)}
    req = urllib2.Request(url, headers=header)
    html = urllib2.urlopen(req).read()
    data = json.loads(html)['data']
    return data
 
def get_movieInfo(url):
    my_headers = [
        'Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30',
        'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)',
        'Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.9.168 Version/11.50',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)']
    header = {"User-Agent": random.choice(my_headers)}
    req = urllib2.Request(url, headers=header)
    html = urllib2.urlopen(req).read()
    soup = BeautifulSoup(html, 'html.parser')
    movie = {}
    movie['Name'] = soup.find('span',property="v:itemreviewed").text
    movie['Year'] = soup.find('span',class_='year').text
    movie['Rate'] = soup.find('strong', property="v:average").text
    movie['Runtime'] = soup.find('span', property="v:runtime").text
    movie['Summary'] = soup.find('span', property='v:summary').text
    movie['URL'] = url
 
    movie['Directors'] = ''
    directors = soup.find_all('a', rel="v:directedBy")
    for director in directors:
        movie['Directors'] += director.text
        movie['Directors'] += '  '
 
    movie['Stars'] = ''
    stars = soup.find_all('a', rel="v:starring")
    for star in stars:
        movie['Stars'] += star.text
        movie['Stars'] += '  '
 
    movie['Category'] = ''
    categorys = soup.find_all('span', property="v:genre")
    for category in categorys:
        movie['Category'] += category.text
        movie['Category'] += '  '
 
    return movie
 
def get_urls():
    base_url = 'https://movie.douban.com/j/new_search_subjects?sort=R&range=1,10&tags=%E7%94%B5%E5%BD%B1&start='
    urls=[]
    nu = 0
    while True:
        print nu
        url = base_url + str(nu)
        data = get_data(url)
        if len(data) == 0:
            break
        for i in data:
            urls.append(i['url'])
        nu += 20
    return urls
 
if __name__ == '__main__':
    urls = get_urls()
    f = open('movieinfo.txt','w+')
    for url in urls:
        try:
            movie = get_movieInfo(url)
            movie_str = json.dumps(movie,ensure_ascii=False, encoding='UTF-8')
            f.write(movie_str)
            f.write('\n')
            f.flush()
        except:
            print url
            continue
    f.close()


摘自: https://blog.51cto.com/wucl202000/1961206,感谢原作者,供学习参考


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

转载—Python抓取豆瓣电影

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

转载—Python抓取豆瓣电影

#!/usr/bin/python# -*-coding:utf-8-*-# Python:   2.7# Program:  爬取豆瓣电影 from bs4 import BeautifulSoupimport urllib2, json
2023-01-31

python爬取豆瓣电影TOP250数据

在执行程序前,先在MySQL中创建一个数据库"pachong"。import pymysql import requests import re#获取资源并下载 def resp(listURL):#连接数据库conn = pymysql.
2022-06-02

(转)Python3爬取豆瓣电影保存到

48行代码实现Python3爬取豆瓣电影排行榜代码基于python3,用到的类库有:标题文字requests:通过伪造请求头或设置代理等方式获取页面内容,参考文档BeautifulSoup:对页面进行解析,提取数据,参考文档PyMySQL:
2023-01-31

爬取豆瓣电影信息

昨天写了一个小爬虫,爬取了豆瓣上2017年中国大陆的电影信息,网址为豆瓣选影视,爬取了电影的名称、导演、编剧、主演、类型、上映时间、片长、评分和链接,并保存到MongoDB中。一开始用的本机的IP地址,没用代理IP,请求了十几个网页之后就收
2023-01-30

python爬取豆瓣top250的电影数

爬取网址: https://movie.douban.com/top250一:爬取思路(新手可以看一下) :      1:定义两个函数,一个get_page函数爬取数据,一个save函数保存数据,mian中向get_page函数传递url
2023-01-31

实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250

安装部署Scrapy 在安装Scrapy前首先需要确定的是已经安装好了Python(目前Scrapy支持Python2.5,Python2.6和Python2.7)。官方文档中介绍了三种方法进行安装,我采用的是使用 easy_install
2022-06-04

爬取豆瓣电影排行top250

爬取豆瓣电影排行top250功能分析:使用的库1、time2、json3、requests4、BuautifulSoup5、RequestException""" 作者:李舵 日期:2019-4-27 功能:抓取豆瓣电影t
2023-01-31

怎么用python爬取豆瓣前一百电影

这期内容当中小编将会给大家带来有关怎么用python爬取豆瓣前一百电影,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的
2023-06-26

使用Python怎么爬取豆瓣电影名

这期内容当中小编将会给大家带来有关使用Python怎么爬取豆瓣电影名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pyt
2023-06-14

Scrapy抓取京东商品、豆瓣电影及代码分享

1.scrapy基本了解Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘, 信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取(更确切来说,网络抓取)所设计的,也可以应用在获取API所返回
2022-06-04

编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法

抓取豆瓣电影TOP100 一、分析豆瓣top页面,构建程序结构 1.首先打开网页http://movie.douban.com/top250start,也就是top页面 然后试着点击到top100的页面,注意带top100的链接依次为htt
2022-06-04

Python爬取豆瓣电影方法是什么

本篇内容主要讲解“Python爬取豆瓣电影方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬取豆瓣电影方法是什么”吧!主要目标 环境:MAC + Python3.6 ;
2023-06-02

python如何爬取豆瓣电影TOP250数据

这篇文章将为大家详细讲解有关python如何爬取豆瓣电影TOP250数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在执行程序前,先在MySQL中创建一个数据库"pachong"。import pymy
2023-06-15

Python爬虫爬取豆瓣电影之数据提取值

工具:Python 3.6.5、PyCharm开发工具、Windows 10 操作系统、谷歌浏览器目的:爬取豆瓣电影排行榜中电影的title、链接地址、图片、评价人数、评分等网址:https://movie.douban.com/chart
2023-01-30

Python爬虫怎么爬取豆瓣影评

本篇内容主要讲解“Python爬虫怎么爬取豆瓣影评”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫怎么爬取豆瓣影评”吧!一、学习开始前需安装模块pip install reques
2023-06-02

13行代码实现爬取豆瓣250电影榜单

原理很简单,通过发送resquest请求获取服务器的response,再使用xpath提取其中我们需要的数据,然后保存到文件中。先看看我爬取的结果:首先,需要用到的模块有两个:•requests•lxml第一步,我们先用Chrome的检查分
2023-01-30

Python如何通过xpath属性爬取豆瓣热映的电影信息

本篇文章给大家分享的是有关Python如何通过xpath属性爬取豆瓣热映的电影信息,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言声明一下:本文主要是研究使用,没有别的用途。
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录