豆瓣网站:https://movie.douban.com/chart

先上最后的代码:

  1. from bs4 import BeautifulSoup
  2. from lxml import html
  3. import xml
  4. import requests
  5. from fake_useragent import UserAgent #ua库
  6. import xlwt #表格模块
  7.  
  8. n = [] #存放电影名称
  9. p = [] #存放电影评分
  10.  
  11. def get_url():
  12. url = "https://movie.douban.com/chart"
  13. ua = UserAgent()
  14. headers={'user-agent':ua.random}
  15. f = requests.get(url,headers=headers) #Get该网页从而获取该html内容
  16. soup = BeautifulSoup(f.text,'lxml') #用lxml解析器解析该网页的内容, 好像f.content也是返回的html
  17.  
  18. for k in soup.find_all('div',class_='pl2'): #找到div并且class为pl2的标签
  19. b = k.find('a') #在每个对应div标签下找a标签
  20. n.append(b.get_text()) #取标签 a 下的文字,并添加到 n 列表中
  21.  
  22. for i in soup.find_all('div',class_='star clearfix'):
  23. c = i.find_all('span') #在每个对应div标签下找span标签,会发现,一个a里面有四组span
  24. t = c[1].string,c[2].string #取相对应span中的字符串,评分和评价人数
  25. p.append(t) #添加到 p 列表中
  26.  
  27. get_url() #获取数据
  28.  
  29. style = xlwt.XFStyle() #初始化样式模板
  30. font = xlwt.Font() #初始化字体模板
  31. pattern = xlwt.Pattern() #初始化背景颜色模板
  32. alignment = xlwt.Alignment() #初始化单元格格式模板
  33.  
  34. font.name = 'Times New Roman' #指定字体
  35. font.bold = True #加黑
  36. font.height = 20*14 #字体
  37.  
  38. pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 设置背景颜色的模式
  39. pattern.pattern_fore_colour = 2 # 背景颜色
  40.  
  41. alignment.horz = 0x02 # 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
  42. alignment.vert = 0x01 # 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
  43. #alignment.wrap = 1 # 设置自动换行
  44.  
  45. style.font = font #应用到style中
  46. style.pattern = pattern #
  47. style.alignment = alignment #应用到style中
  48.  
  49. workbook = xlwt.Workbook()
  50. worksheel = workbook.add_sheet('豆瓣电影排行榜') #创建一个新表格
  51. worksheel.write(0,0,'电影名',style) #填写行、列、值
  52. worksheel.write(0,1,'评分',style)
  53.  
  54. for x in range(1,11):
  55. for y in range(0,2):
  56. if y == 0:
  57. worksheel.write(x,y,label=n[x-1])
  58. elif y == 1:
  59. worksheel.write(x,y,label=p[x-1])
  60.  
  61. workbook.save(r"C:\Users\fan\Desktop\豆瓣影评.xls") #创建excel表

效果图:

思路:

1、进入网页—>F12—>右击影名—>检查—>查看相对应的html代码

发现影名是存在<div class="pl2">标签下的<a>标签中,使用requests+BeautifulSoup库获取

评分和评价人数存储在<div class="star clearfix">下的<span>标签中。

所涉及到的库,全部是前文《爬虫常用库》中有介绍。

Python新手爬虫一:爬取影片名称评分等的更多相关文章

  1. 利用python的爬虫技术爬取百度贴吧的帖子

    在爬取糗事百科的段子后,我又在知乎上找了一个爬取百度贴吧帖子的实例,为了巩固提升已掌握的爬虫知识,于是我打算自己也做一个. 实现目标:1,爬取楼主所发的帖子 2,显示所爬去的楼层以及帖子题目 3,将爬 ...

  2. python网络爬虫《爬取get请求的页面数据》

    一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib. ...

  3. python网络爬虫--简单爬取糗事百科

    刚开始学习python爬虫,写了一个简单python程序爬取糗事百科. 具体步骤是这样的:首先查看糗事百科的url:http://www.qiushibaike.com/8hr/page/2/?s=4 ...

  4. 初识python 之 爬虫:爬取双色球中奖号码信息

    人生还是要有梦想的,毕竟还有python.比如,通过python来搞一搞彩票(双色球).注:此文仅用于python学习,结果仅作参考.用到知识点:1.爬取网页基础数据2.将数据写入excel文件3.将 ...

  5. Python网络爬虫_爬取Ajax动态加载和翻页时url不变的网页

    1 . 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新 ...

  6. python之爬虫(爬取.ts文件并将其合并为.MP4文件——以及一些异常的注意事项)

    //20200115 最近在看“咱们裸熊——we bears”第一季和第三季都看完了,单单就第二季死活找不到,只有腾讯有资源,但是要vip……而且还是国语版……所以就瞄上了一个视频网站——可以在线观看 ...

  7. Python学习 —— 爬虫入门 - 爬取Pixiv每日排行中的图片

    更新于 2019-01-30 16:30:55 我另外写了一个面向 pixiv 的库:pixiver 支持通过作品 ID 获取相关信息.下载等,支持通过日期浏览各种排行榜(包括R-18),支持通过 p ...

  8. 初识python 之 爬虫:爬取中国天气网数据

    用到模块: 获取网页并解析:import requests,html5lib from bs4 import BeautifulSoup 使用pyecharts的Bar可视化工具"绘制图表& ...

  9. 初识python 之 爬虫:爬取某网站的壁纸图片

    用到的主要知识点:requests.get 获取网页HTMLetree.HTML 使用lxml解析器解析网页xpath 使用xpath获取网页标签信息.图片地址request.urlretrieve ...

  10. Python网络爬虫 | Scrapy爬取妹子图网站全站照片

    根据现有的知识,写了一个下载妹子图(meizitu.com)Scrapy脚本,把全站两万多张照片下载到了本地. 网站的分析 网页的网址分析 打开网站,发现网页的网址都是以 http://www.mei ...

随机推荐

  1. K210开发板学习笔记-点亮LED灯

    1. 介绍 和 51 单片机非常像,实验的2个LED灯都是一头接了 +3.3v 电源,控制 LED灯亮的话需要 K210芯片 对应的管脚提供一个低电平. 管脚: 低电平-LED亮 高电平-LED灭 G ...

  2. sqlite相关

    前言 本文记录一些sqlite相关笔记,随时更新. 正文 时间函数 datetime() -- 当前时间 2022-03-24 17:32:43 select datetime('now'); --2 ...

  3. Java 集合框架迭代器(Iterator)

    什么是迭代器 使用循环遍历集合 普通for循环 for(int i=0;i<10;i++){} 增强for循环 for(String str:list){} 什么是迭代器Iterator Ite ...

  4. P3938

    斐波那契 题意描述 输入 5 1 1 2 3 5 7 7 13 4 12 输出 1 1 2 2 4 点拨 根据题目去找规律,每一个儿子与父亲结点具有斐波那契数的规律,我们只需要每次找到该数在斐波那契数 ...

  5. 洛谷P1378

    这道题需要处理的信息比较多,需要注意的是一个油滴扩展后可能会包含其他的点 #include <iostream> #include <utility> #include < ...

  6. 第二部分:关键技术领域的开源实践【内网穿透FRP】

    FRP简介 FRP(Fast Reverse Proxy)作为一种高性能的内网穿透工具,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网IP节点(云 ...

  7. PHP集群session共享

    集群的概念没有多复杂,其实就是多台电脑为了同一个目标在一起工作.在Web应用中,就是多个服务器提供一个站点的服务. 搭建PHP集群的第一步就是设置负载均衡. 默认情况下PHP是将session存在本地 ...

  8. oeasy教您玩转vim - 55 - # 参数替换

    ​ [Github地址] (https://github.com/overmind1980/oeasyvim) [Gitee地址] (overmind1980/oeasyvim) [蓝桥实验楼 邀请码 ...

  9. oeasy教您玩转vim - 31 - # 文字区块

    ​ 文字区块 回忆上节课内容 上上次讲的翻页 上次先让屏幕位置固定,移动光标 H- Head 移动到屏幕的顶端 M- Middle 移动到屏幕的中间 L- Low 移动到屏幕的底部 然后让光标固定,移 ...

  10. 记一次 redis 事件注册不当导致的内存泄露

    线上的程序跑着跑着内存越来越大,并且没有下降的趋势,重启一下程序也只能短暂恢复.通过 htop 命令再按一下 M 键按内存占用大小排个序,程序会占好几个G.那好,让我们来分析一下. 收集dump 通过 ...