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


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

输出的list截图:


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

  1.   

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. mysql 位操作支持

    mysql 支持位操作. & 位与 | 位或 例如:update car_ins_fee_entity set change_status=(change_status | 1) where ...

  2. RN 从上手到“放弃”

    RN 从上手到"放弃" 前言: react-native,相对于最近

  3. pat1097. Deduplication on a Linked List (25)

    1097. Deduplication on a Linked List (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 ...

  4. Centos7搭建redis,同一服务器启动两个端口的redis

    1.安装redis [1]下载安装包 #准备安装文件夹 mkdir /usr/local/soft/redis #进入文件夹 cd /usr/local/soft/redis #下载安装包 wget ...

  5. Java Web项目在Mac系统上启动时提示nodename nor servname provided的解决办法

    今天在Mac系统上启动Java Web项目的时候,提示了Java.net.UnknownHostException: yangxiaomindeMacBook-Pro.local nodename n ...

  6. kotlin查看编译后的Java代码

    java学一下kotlin,由于用的是同样的jvm,那就说明他们的字节码文件应该是一样的,那么,如果我们能看到编译后的文件,那么学的更快了. 操作 1.打开一个.kt文件 2.在Android Stu ...

  7. js和JQuery中offset等属性对比

    HTML: 内容在滚动条下面 <div id="outerDiv"> <div id="myDiv" class="myDiv&qu ...

  8. Linux Mint下的conky配置

    最近闲来无事,想把自己的Linux Mint弄的再炫酷点,在桌面上显示一些信息,因为我已经装了Cairo-dock,现在就差这个了,下面简单说下整个流程,首先你得安装conky, sudo apt-g ...

  9. JVM虚拟机 - Class类文件结构

    概述 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎都是程序运行的必要数据 ...

  10. js 数组操作常用方法

    push():在数组后面加入元素,并返回数组的长度: unshift():在数组前面就如元素,并返回数组的长度: pop():删除最后一个元素: var arr =[1,2,3,4,5] ; arr. ...