爬取网址: https://movie.douban.com/top250


一:爬取思路(新手可以看一下) :
      1:定义两个函数,一个get_page函数爬取数据,一个save函数保存数据,mian中向get_page函数传递url和运save函数接受get_page函数传递过来的值
      2:准备动手
二:爬取前的准备
  我是pyhton3 pycharm
  需要准备的库 requests,lxml,xlwt
  requests解析url
  lxml解析网页,获取数据
  xlwt 向excle写入数据
三:代码实现(这里只是为了保存数据做演示,没有对数据做处理)
  
import  requests
from lxml import etree
import xlwt all_list=[]#传入save函数的结果集
def get_page(url):
res=requests.get(url)
if res.status_code==200:
html=etree.HTML(res.content)
all=html.xpath('//div[@class="article"]/ol/li')#所有的数据都在li标签下,我们一这个为总节点
for detail in all:
title=detail.xpath('.//div[@class="hd"]/a/span[1]/text()')[0]#电影名字
score=detail.xpath('.//span[@class="rating_num"]/text()')[0]#评分
comment_sum=detail.xpath('.//div[@class="star"]/span[4]/text()')[0]#评论人数
quote=detail.xpath('.//p[@class="quote"]/span/text()')#引言 由于有的电影没有引言,不判断会报错
if len(quote)==0:
quote='暂无引言'
else:
quote=quote[0]
list=[]
list.append(title)
list.append(score)
list.append(comment_sum)
list.append(quote)
        print(list) #输出结果在下面
all_list.append(list)#将所有的list都添加进一个list
else:
print(res.status_code1) def save(lists):
book=xlwt.Workbook()
sheet=book.add_sheet('douban')
head = ['名字', '评分', '评价人数', '引言']
for h in range(len(head)):
sheet.write(0, h, head[h])#写一个表头
row=1#控制行
for list in lists:
print(list)
col=0#控制列
for s in list:#循环我们的list的值
sheet.write(row,col,s)
col+=1
row+=1
book.save("doubantop250.xls")
if __name__ == '__main__':
#0 25 50 75
for x in range(0,11):
if x==0:
url='https://movie.douban.com/top250?start=0'
get_page(url)
else:
x=x*25
url='https://movie.douban.com/top250?start='+str(x)
get_page(url)
save(all_list)#讲结果集传入save函数

输出的list截图:


如果有小伙伴不知道为什么要这样存放数据的话可以看下这个网址:https://www.cnblogs.com/nancyzhu/p/8401552.html,我存入excle的思路就是来源于这个网址,写的真的很容易理解 我喜欢.所以本文就不在做过多赘述,有问题的或者觉得有更好的方法的可以一起交流一下 欢迎加入我的群一起交流: 644080474  嘿嘿

  

python爬取豆瓣top250的电影数据并存入excle的更多相关文章

  1. Python 爬取豆瓣TOP250实战

    学习爬虫之路,必经的一个小项目就是爬取豆瓣的TOP250了,首先我们进入TOP250的界面看看. 可以看到每部电影都有比较全面的简介.其中包括电影名.导演.评分等. 接下来,我们就爬取这些数据,并将这 ...

  2. 简单的爬虫例子——爬取豆瓣Top250的电影的排名、名字、评分、评论数

    爬取思路: url从网页上把代码搞下来bytes decode ---> utf-8 网页内容就是我的待匹配的字符串ret = re.findall(正则,待匹配的字符串), ret 是所有匹配 ...

  3. 爬取豆瓣top250音乐 时长 出版商 存入Mongo数据库

    import requestsfrom lxml import etreeimport reimport pymongoimport time client = pymongo.MongoClient ...

  4. 零基础爬虫----python爬取豆瓣电影top250的信息(转)

    今天利用xpath写了一个小爬虫,比较适合一些爬虫新手来学习.话不多说,开始今天的正题,我会利用一个案例来介绍下xpath如何对网页进行解析的,以及如何对信息进行提取的. python环境:pytho ...

  5. 基础爬虫,谁学谁会,用requests、正则表达式爬取豆瓣Top250电影数据!

    爬取豆瓣Top250电影的评分.海报.影评等数据!   本项目是爬虫中最基础的,最简单的一例: 后面会有利用爬虫框架来完成更高级.自动化的爬虫程序.   此项目过程是运用requests请求库来获取h ...

  6. python爬取豆瓣电影Top250(附完整源代码)

    初学爬虫,学习一下三方库的使用以及简单静态网页的分析.就跟着视频写了一个爬取豆瓣Top250排行榜的爬虫. 网页分析 我个人感觉写爬虫最重要的就是分析网页,找到网页的规律,找到自己需要内容所在的地方, ...

  7. Python爬取豆瓣电影top

    Python爬取豆瓣电影top250 下面以四种方法去解析数据,前面三种以插件库来解析,第四种以正则表达式去解析. xpath pyquery beaufifulsoup re 爬取信息:名称  评分 ...

  8. 利用Python爬取豆瓣电影

    目标:使用Python爬取豆瓣电影并保存MongoDB数据库中 我们先来看一下通过浏览器的方式来筛选某些特定的电影: 我们把URL来复制出来分析分析: https://movie.douban.com ...

  9. requests爬取豆瓣top250电影信息

    ''' 1.爬取豆瓣top250电影信息 - 第一页: https://movie.douban.com/top250?start=0&filter= - 第二页: https://movie ...

随机推荐

  1. 《从0到1学习Flink》—— Flink 中几种 Time 详解

    前言 Flink 在流程序中支持不同的 Time 概念,就比如有 Processing Time.Event Time 和 Ingestion Time. 下面我们一起来看看这几个 Time: Pro ...

  2. Aura Component Skills & Tools

    本篇参考: https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_vf_fundamentals 不知不觉已经做了三年多的 ...

  3. iOS开发ReactiveCocoa学习笔记(二)

    RAC 中常见的宏: 使用宏定义要单独导入 #import <RACEXTScope.h> 一. RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于给某个对象的某 ...

  4. LVS 集群工作原理

    1. 集群:集群(cluster )就是一组计算机,它们作为一个整体向用户提供一组网络资源,单个计算机系统就是一个集群节点(node). 2. 集群种类: <1>. 负载均衡集群(Load ...

  5. 从零开始的全栈工程师——js篇2.10(对象与构造函数)

    对象与构造函数 一.js数据类型 基本数据类型:string   undefined   null  boolean  number 引用数据类型  Object  array  function 二 ...

  6. es6-异步应用

    异步编程对 JavaScript 语言太重要.Javascript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可.本章主要介绍 Generator 函数如何完成异步操作. 传 ...

  7. C# 常见的字符串操作

    例1: 遍历字符串中的每一个字符: string src = "aa-b - c-a - d-e- d-e- a- a-b-cc"; foreach(char c in src) ...

  8. jquery的trigger和triggerHandler区别

    网上关于这个问题都是抄来抄去的,都没怎么说清楚.所以自己做了个测试,供大家参考指教.首先先看API怎么说的 为了检验一下,编写了一个简单的测试代码,如下: <html lang="en ...

  9. python3应用例子01(进度条)

    #!/usr/bin/env python# -*- coding:utf-8 -*- import sysimport time def bar(num, total): rate = num / ...

  10. python3.7 安装 xlrd 模块---Mac

    要用Excel将数据和代码分离,需要import xlrd, 使用前需要先安装xlrd模块. 说明:通过在google中搜索“xlrd Mac”,下载xlrd.py模块(下载地址:http://mac ...