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 ...
随机推荐
- 【Python】Pandas操作Excel
一:Pandas操作Excel 1.1: 创建/读取excel文件 读取excel pd.read_excel(filepath) 读取指定标题行 pd.read_excel(filepath,hea ...
- Centos7安装MySQL详细步骤(配置开机自启)
MySQL 检查系统是否安装过mysql //检查系统中有无安装过mysql rpm -qa|grep mysql //查询所有mysql 对应的文件夹,全部删除 whereis mysql find ...
- Python 潮流周刊#59:Polars 1.0 发布了,PyCon US 2024 演讲视频也发布了(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- MyBatis-Plus 整理
# 前言 代码生成器插件选择去这里:https://www.cnblogs.com/zixq/p/16726534.html 相关插件在那里面已经提到了 # 上手 MyBatis-Plus 是一个 M ...
- 2. C++的编译/链接模型
C++的编译/链接模型 简单的加工模型 问题:无法处理大型程序 加工耗时较长 即使少量修改,也需要重新加工 解决方案:分块处理 好处 编译消耗资源,但一次处理输入较少 链接程序较多,但处理速度较快 便 ...
- oeasy教您玩转linux010206toilet
我们来回顾一下 上一部分我们都讲了什么? 用apt查询并下载了figlet 玩了一下字符画 设置了字符画的字体 但是没有修改颜色 这次我们来找找另一个命令toilet apt search toile ...
- Day 8 - 并查集、堆、set 与 map
并查集 引入 并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素. 顾名思义,并查集支持两种操作: 合并(\(\text{Union}\ ...
- vue el-input只能输入正整数 替换e - + 等
示例:输入分页页数,每页显示条数 <el-input type="number" class="resNums" v-model="item.r ...
- python对象之间的交互
python对象之间的交互 先看看一般的类定义如下: class 类名: def __init__(self,参数1,参数2): self.对象的属性1 = 参数1 self.对象的属性2 = 参数2 ...
- 【SpringMVC】 Controller接收深度复杂对象封装不到的问题
首先来看数据结构的定义: 一个Form对象,然后里面有一个排版日期对象的List集合 排班集合的每个元素中又有一个String集合 在前端的Post请求中可以看到这个String集合是传递了的 但是D ...