Python新手爬虫一:爬取影片名称评分等
豆瓣网站:https://movie.douban.com/chart
先上最后的代码:
from bs4 import BeautifulSoup
from lxml import html
import xml
import requests
from fake_useragent import UserAgent #ua库
import xlwt #表格模块 n = [] #存放电影名称
p = [] #存放电影评分 def get_url():
url = "https://movie.douban.com/chart"
ua = UserAgent()
headers={'user-agent':ua.random}
f = requests.get(url,headers=headers) #Get该网页从而获取该html内容
soup = BeautifulSoup(f.text,'lxml') #用lxml解析器解析该网页的内容, 好像f.content也是返回的html for k in soup.find_all('div',class_='pl2'): #找到div并且class为pl2的标签
b = k.find('a') #在每个对应div标签下找a标签
n.append(b.get_text()) #取标签 a 下的文字,并添加到 n 列表中 for i in soup.find_all('div',class_='star clearfix'):
c = i.find_all('span') #在每个对应div标签下找span标签,会发现,一个a里面有四组span
t = c[1].string,c[2].string #取相对应span中的字符串,评分和评价人数
p.append(t) #添加到 p 列表中 get_url() #获取数据 style = xlwt.XFStyle() #初始化样式模板
font = xlwt.Font() #初始化字体模板
pattern = xlwt.Pattern() #初始化背景颜色模板
alignment = xlwt.Alignment() #初始化单元格格式模板 font.name = 'Times New Roman' #指定字体
font.bold = True #加黑
font.height = 20*14 #字体 pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 设置背景颜色的模式
pattern.pattern_fore_colour = 2 # 背景颜色 alignment.horz = 0x02 # 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.vert = 0x01 # 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
#alignment.wrap = 1 # 设置自动换行 style.font = font #应用到style中
style.pattern = pattern #
style.alignment = alignment #应用到style中 workbook = xlwt.Workbook()
worksheel = workbook.add_sheet('豆瓣电影排行榜') #创建一个新表格
worksheel.write(0,0,'电影名',style) #填写行、列、值
worksheel.write(0,1,'评分',style) for x in range(1,11):
for y in range(0,2):
if y == 0:
worksheel.write(x,y,label=n[x-1])
elif y == 1:
worksheel.write(x,y,label=p[x-1]) workbook.save(r"C:\Users\fan\Desktop\豆瓣影评.xls") #创建excel表
效果图:

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

发现影名是存在<div class="pl2">标签下的<a>标签中,使用requests+BeautifulSoup库获取
评分和评价人数存储在<div class="star clearfix">下的<span>标签中。
所涉及到的库,全部是前文《爬虫常用库》中有介绍。
Python新手爬虫一:爬取影片名称评分等的更多相关文章
- 利用python的爬虫技术爬取百度贴吧的帖子
在爬取糗事百科的段子后,我又在知乎上找了一个爬取百度贴吧帖子的实例,为了巩固提升已掌握的爬虫知识,于是我打算自己也做一个. 实现目标:1,爬取楼主所发的帖子 2,显示所爬去的楼层以及帖子题目 3,将爬 ...
- python网络爬虫《爬取get请求的页面数据》
一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib. ...
- python网络爬虫--简单爬取糗事百科
刚开始学习python爬虫,写了一个简单python程序爬取糗事百科. 具体步骤是这样的:首先查看糗事百科的url:http://www.qiushibaike.com/8hr/page/2/?s=4 ...
- 初识python 之 爬虫:爬取双色球中奖号码信息
人生还是要有梦想的,毕竟还有python.比如,通过python来搞一搞彩票(双色球).注:此文仅用于python学习,结果仅作参考.用到知识点:1.爬取网页基础数据2.将数据写入excel文件3.将 ...
- Python网络爬虫_爬取Ajax动态加载和翻页时url不变的网页
1 . 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新 ...
- python之爬虫(爬取.ts文件并将其合并为.MP4文件——以及一些异常的注意事项)
//20200115 最近在看“咱们裸熊——we bears”第一季和第三季都看完了,单单就第二季死活找不到,只有腾讯有资源,但是要vip……而且还是国语版……所以就瞄上了一个视频网站——可以在线观看 ...
- Python学习 —— 爬虫入门 - 爬取Pixiv每日排行中的图片
更新于 2019-01-30 16:30:55 我另外写了一个面向 pixiv 的库:pixiver 支持通过作品 ID 获取相关信息.下载等,支持通过日期浏览各种排行榜(包括R-18),支持通过 p ...
- 初识python 之 爬虫:爬取中国天气网数据
用到模块: 获取网页并解析:import requests,html5lib from bs4 import BeautifulSoup 使用pyecharts的Bar可视化工具"绘制图表& ...
- 初识python 之 爬虫:爬取某网站的壁纸图片
用到的主要知识点:requests.get 获取网页HTMLetree.HTML 使用lxml解析器解析网页xpath 使用xpath获取网页标签信息.图片地址request.urlretrieve ...
- Python网络爬虫 | Scrapy爬取妹子图网站全站照片
根据现有的知识,写了一个下载妹子图(meizitu.com)Scrapy脚本,把全站两万多张照片下载到了本地. 网站的分析 网页的网址分析 打开网站,发现网页的网址都是以 http://www.mei ...
随机推荐
- python3 requests 请求https报错: urllib3.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:992)
正文 代码示例: #-*- coding:utf-8 -*- import requests url = "https://tst.com" res = requests.get( ...
- 你有对 Vue 项目进行哪些优化?
(1)代码层面的优化 v-if 和 v-show 区分使用场景 computed 和 watch 区分使用场景 v-for 遍历必须为 item 添加 key,且避免同时使用 v-if 图片资源懒加载 ...
- java后端解决请求跨域
跨域 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 例如:a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同 ...
- Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验
扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 useHead 函数概述 useHead是一个用于在 Nuxt 应用中自定义页面头部属性的函数.它由Unhead库提供支持,允许开发者以编 ...
- [oeasy]python0054_三引号_原样显示字符串_triple_quoted
三引号 回忆上次内容 \ 首先是转义字符 可以 和别的字符 构成转义序列 \a是 ␇ (bell), \b 退回一格 \t 水平制表符 \v.\f LineFeed \\ 输出 \ \" 输 ...
- oeasy教您玩转vim - 31 - # 文字区块
文字区块 回忆上节课内容 上上次讲的翻页 上次先让屏幕位置固定,移动光标 H- Head 移动到屏幕的顶端 M- Middle 移动到屏幕的中间 L- Low 移动到屏幕的底部 然后让光标固定,移 ...
- Redis持久化RDB与AOF介绍
就是将内存中的数据通过rdb/aof进行持久化写入硬盘中 rdb就是进行持久化的快照 在指定的时间间隔内,执行数据集的时间点快照.这个快照文件称为(dump.rdb)RDB文件,Redis DataB ...
- app专项测试:app弱网测试
app专项测试:app弱网测试 弱网测试背景 用户体验 APP使用过程中,弱网的高延迟和高丢包,在实时性要求非常高的场景,容易伤害用户体验 非正常情况下,Bug出现几率会增加 在解决日常支持需求中,经 ...
- 解决004--Loading local data is disabled; this must be enabled on both the client and server sides问题及解决
因为下载了SQLyog的ultimate版本,现在就可以导入外部的数据了.有着之前使用insert into插入语句来添加近50条有着大概10个字段的记录的经历之后,本着能够导入现成的数据就导入的想法 ...
- python 音频处理(1)——重采样、音高提取
采集数据->采样率调整 使用torchaudio进行重采样(cpu版) 首先导入相关包,既然使用torch作为我们的选项,安装torch环境我就不必多说了,如果你不想用torch可以使用后文提到 ...