爬取网址: 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. SharePoint 2010开发方面的课堂中整理有关问题

    SharePoint 2010开发方面的课堂中整理有关问题 这是我这几天在做一个SharePoint开发的课程的时候,大家提出的一些问题,及我的解答,分享给更多的朋友参考一下 这个文档,也可以在这里下 ...

  2. asp.net弹出窗口并返回值

    a.html <form name="form1" method="post" action=""> <a href=&q ...

  3. jQuery学习笔记(四)

    动画效果 显示和隐藏效果 无动画效果 显示:show() 隐藏:hide() <!DOCTYPE html> <html lang="en"> <he ...

  4. 玩转spring ehcache 缓存框架

    一.简介 Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案.同时ehcache ...

  5. spring batch 读取多个文件数据导入数据库

    项目的目录结构 需要读取文件的的数据格式 applicatonContext.xml的配置 <?xml version="1.0" encoding="UTF-8& ...

  6. 会话跟踪之Cookie

    一:简介 Cookie主要用来存储用户信息,追踪用户会话.web客户端访问服务端直接采用的协议是Http,Http协议是一种无状态协议,无状态表现在不能够保留用户访问状态,无法记录用户信息.每一次的请 ...

  7. SqlServer作业指定目标服务器

    用SSMS生成数据库作业的创建脚本的时候,有一步是sp_add_jobserver操作: EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = ...

  8. html5 app开发实例 Ajax跨域访问C# webservices服务

    通过几天的研究效果,如果在vs2010工具上通过webservice还是比较简单的,毕竟是一个项目. 如果您想通过HTML5 做出来的移动APP去访问c#做出来的webservice,那么就没那么简单 ...

  9. 浅谈前端性能优化(二)——对HTTP传输进行压缩

    1.前端性能优化的一点: 对js.css.图片等进行压缩,尽可能减小文件的大小,减少文件下载的时间,从而减少网页响应的时间. 2.前端性能优化的另一点: 对HTTP传输进行压缩,即在js,css.图片 ...

  10. wu2198:难得的波段抄底机会

    很好的波段抄底机会 个人浅见看,目前染料股跌出的机会明显,养殖股波段机会明显,芯片.半导体.集成电路.北导.软件.国产操作系统等科技股短线机会不错.另外,大盘指数2856/2806区域的波段操作机会不 ...