爬取豆瓣电影排行top250

功能描述:

使用的库

1、time

2、json

3、requests

4、BuautifulSoup

5、RequestException

上机实验室:

"""
    作者:李舵
    日期:2019-4-27
    功能:抓取豆瓣电影top250
    版本:V1.0
"""

import time
import json
import requests
from bs4 import BeautifulSoup
from requests.exceptions import RequestException

def get_one_page(url):
    try:
        headers = {‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36‘}
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None

def parse_one_page(html):
    soup = BeautifulSoup(html, ‘lxml‘)
    ol_list = soup.find(‘ol‘, {‘class‘: ‘grid_view‘})
    li_list = ol_list.find_all(‘li‘)
    for i in range(25):
        move_value = li_list[i]
        yield {
            ‘index‘: move_value.find(‘em‘, {‘class‘: ‘‘}).text.strip(),
            ‘title‘: move_value.find(‘span‘, {‘class‘: ‘title‘}).text.strip(),
            ‘actor‘: move_value.find(‘p‘, {‘class‘: ‘‘}).text.strip(),
            ‘score‘: move_value.find(‘span‘, {‘class‘: ‘rating_num‘}).text.strip()
        }

def write_to_file(content):
    with open(‘result.txt‘, ‘a‘, encoding=‘utf-8‘) as f:
        print(type(json.dumps(content)))
        f.write(json.dumps(content, ensure_ascii=False)+‘\n‘)

def main(start):
    url = ‘https://movie.douban.com/top250?start=‘ + str(start)
    html = get_one_page(url)
    for item in parse_one_page(html):
        print(item)
        write_to_file(item)

if __name__ == ‘__main__‘:
    for i in range(11):
        main(start=i * 25)
        time.sleep(1)

  

补充说明:

1、

原文地址:https://www.cnblogs.com/liduo0413/p/10779802.html

时间: 2024-10-04 17:47:42

爬取豆瓣电影排行top250的相关文章

【转】爬取豆瓣电影top250提取电影分类进行数据分析

一.爬取网页,获取需要内容 我们今天要爬取的是豆瓣电影top250页面如下所示: 我们需要的是里面的电影分类,通过查看源代码观察可以分析出我们需要的东西.直接进入主题吧! 知道我们需要的内容在哪里了,接下来就使用我们python强大的request库先获取网页内容下来吧!获取内容后,再使用一个好用的lxml库来分析网页内容,然后获取我们的内容就可以做下一步操作了.先贴出使用request库和lxml分析的代码 1 def get_page(i): 2 url = 'https://movie.d

scrapy爬取豆瓣电影top250

1 # -*- coding: utf-8 -*- 2 # scrapy爬取豆瓣电影top250 3 4 import scrapy 5 from douban.items import DoubanItem 6 7 8 class DoubanspiderSpider(scrapy.Spider): 9 name = "doubanspider" 10 # allowed_domains = ["movie.douban.com/top250"]注意这里的主页限制

运维学python之爬虫高级篇(五)scrapy爬取豆瓣电影TOP250

对于scrapy我们前面已经介绍了简单的应用,今天我们用一个完整的例子,爬取豆瓣电影TOP250来做一个小的练习,把scrapy阶段做一个总结. 1 环境配置 语言:Python 3.6.1 IDE: Pycharm 浏览器:firefox 爬虫框架:Scrapy 1.5.0 操作系统:Windows 10 家庭中文版 2 爬取前分析 2.1 需要保存的数据 首先确定我们要获取的内容,在items中定义字段,来将非结构化数据生成结构化数据,获取的内容主要包括:排名.电影名称.得分.评论人数.如下

03_使用scrapy框架爬取豆瓣电影TOP250

前言: 本次项目是使用scrapy框架,爬取豆瓣电影TOP250的相关信息.其中涉及到代理IP,随机UA代理,最后将得到的数据保存到mongoDB中.本次爬取的内容实则不难.主要是熟悉scrapy相关命令以及理解框架各部分的作用. 1.本次目标 爬取豆瓣电影TOP250的信息,将得到的数据保存到mongoDB中. 2.准备工作 需要安装好scrapy以及mongoDB,安装步骤这里不做赘述.(这里最好是先了解scrapy框架各个部分的基本作用和基础知识,这样方便后面的内容的理解.scrapy文档

团队-爬取豆瓣电影TOP250-需求分析

需求:爬取豆瓣电影TOP250 *向用户展示电影的排名,分数,名字,简介,导演,演员,前10条影评信息,链接信息 实现思路: 分析豆瓣电影TOP250的url规则, 编写模块获取相关url 获取全部相关页面的html代码 分析html中有关"排名,分数,名字,简介,导演,演员,前10条影评信息,链接信息"的标签 结合第三方工具包实现信息的提取 编写将"搜集信息"展示出来的模块

团队-Python 爬取豆瓣电影top250-需求分析

需求:爬取豆瓣电影TOP250 *向用户展示电影的排名,分数,名字,简介,导演,演员,前10条影评信息,链接信息 实现思路: 分析豆瓣电影TOP250的url规则, 编写模块获取相关url 获取全部相关页面的html代码 分析html中有关"排名,分数,名字,简介,导演,演员,前10条影评信息,链接信息"的标签 结合第三方工具包实现信息的提取 编写将"搜集信息"展示出来的模块

《团队-爬取豆瓣电影TOP250-成员简介及分工》

团队项目<爬取豆瓣电影TOP250>开发人员之一:张晓亮,性别男,15级软件技术专业学生,喜欢爱书和浏览网页信息.掌握的知识:Java语言开发,熟悉Python,C等开发语言.了解HTML5,CSS3,Javasprict等前端开发知识.可以熟练使用eclipse,Sequel Pro等软件开发工具. 在本次开发中担任:系统分析.对系统功能需求分析.用户体验设计进行归拢.对系统进度的控制,风险评估进有把控和人员的配置等

团队-爬取豆瓣电影Top250-项目总结

团队名称:极限定理 项目名称:爬取豆瓣电影Top250 组长:邵文强 成员:张晓亮.潘新宇.邵翰庆.宁培强.李国峰 关于功能:我们所做的是一个能够爬取豆瓣电影网的前250的排名程序,针对电影类别查询,统计,整合. 需求分析阶段:这个只是一个很小的程序,目的是为了帮助一部分懒人,当他们想找一下好看的电影的时候,又不想通过打开网页来一个一个翻,可以通过使用我们所做的一个小的程序很快爬取到前250的电影供参考,而且还有影片介绍等等可以进一步了解影片,可以供参考. 软件设计阶段: 分析设计:需求分析,项

Python开发简单爬虫之静态网页抓取篇:爬取“豆瓣电影 Top 250”电影数据

目标:爬取豆瓣电影TOP250的所有电影名称,网址为:https://movie.douban.com/top250 1)确定目标网站的请求头: 打开目标网站,在网页空白处点击鼠标右键,选择"检查".(小编使用的是谷歌浏览器). 点击"network",在弹出页面若长时间没有数据显示,则试一下F5刷新. 可以得到目标网页中Host和User-Agent两项. 2)找到爬取目标数据(即电影名称)在页面中的位置 右键"检查",选择"Elem