当前位置: 首页 > wzjs >正文

福州网站建设需要多少钱外链购买交易平台

福州网站建设需要多少钱,外链购买交易平台,广东 网站建设 公司排名,公众号文章怎么导入到wordpress网址:豆瓣电影 Top 250 本案例所需要的模块 requests (用于发送HTTP请求)re (用于字符串匹配和操作) 确定需要爬取的数据 : 电影的名称电影的年份电影的评分电影评论人数 一. 发送请求 模拟浏览器向服务器发送请求 准备工作 -分析页面: F12 or 右击点击检查 查看…

网址:豆瓣电影 Top 250

本案例所需要的模块
requests (用于发送HTTP请求)re (用于字符串匹配和操作)

确定需要爬取的数据 :

  1. 电影的名称
  2. 电影的年份
  3. 电影的评分
  4. 电影评论人数

一. 发送请求 模拟浏览器向服务器发送请求

准备工作 -分析页面:
F12 or 右击点击检查 查看页面源代码 目的是确定数据是否为静态数据

Ctrl + F 快捷键打开搜索框 将我们所需要爬取的数据输入
发现数据都在前端的页面当中
即拿到页面的源代码 从中提取数据

接着复制浏览器的URL地址 在pycharm里面构建请求

# 导包
import requests
import reurl = 'https://movie.douban.com/top250'# 构建请求体
# user-agent 即UA 为浏览器的基本信息 爬虫程序就是伪装成浏览器从网页拿数据
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0',}resp = requests.get(url=url, headers=headers)print(resp.text.encode('gbk', 'ignore').decode('gbk'))

  我这里会出现一个编码的问题 查找资料之后 需要先用 GBK 编码,加个 ignore 丢弃错误的字符,然后再解码

之后在拿到的网页源代码中 老样子Ctrl+F 检查爬取的数据是否存在

二. 解析数据 提取数据

OK 接着我们需要从页面源代码中提取出我们想要的数据

分析页面的结构

ex = re.compile(r'<div class="hd">.*?<span class="title">(?P<name>.*?)</span>',re.S)
# 不需要的内容通过.*?过掉 给需要取出的内容 取值为name 类似字典
result = ex.findall(text)# findall返回的是一个列表
# finditer 返回的是一个迭代器 后续需要通过for循环取出
# re.search() 返回的是match对象  需要.group拿数据 只能拿到匹配到的第一个数据
# re.match() 从头开始匹配 类似^
# 预加载正则表达式  后续可重复使用该正则
# re.complie(r'正则')

继续编写正则 想象这是一篇文章 不需要的通过.*?过滤出去 用(.*?)保留下来
后续通过类似 键值对取值取出

我们通过迭代器的方式 提取

ex = re.compile(r'<div class="hd">.*?<span class="title">(?P<name>.*?)'r'</span>.*?<p class="">.*?<br>(?P<year>.*?)&nbsp.*?'r'<span class="rating_num" property="v:average">(?P<judge>.*?)</span>.*?'r'<span>(?P<num>.*?)人评价</span>.*?'r'<p class="quote"><span class="inq">(?P<intro>.*?)。</span></p>',re.S)
result = ex.finditer(text)
for i in result:# 通过.group取数据# 检验拿到的数据print(i.group('name'))#  去除前面的空格print(i.group('year').strip())print(i.group('judge'))print(i.group('num'))

三.保存数据 存储为 csv excel 文件

接着我们保存爬取的数据  需要用到csv模块

# 导包
import csvf = open('movie.csv','w',encoding='utf-8',newline='')
# newline 解决空行的问题
csv_writer = csv.writer(f)
# 写入表头
csv_writer.writerow(['电影名','年份','评分','评价人数'])

for i in result:# 将数据存储为字典格式dit = i.groupdict()# 处理年份前的空格dit['year'] = dit['year'].strip()#将值写入csv文件csv_writer.writerow(dit.values())
# 与with open 不同的是 open需要手动关闭
f.close()

另外一种保存数据的方式 pandas 个人觉得pandas方便很多
以下是实现代码

 

# 导包
import pandas as pd
# 定义一个空列表 后面将dit字典数据存储进去
lis = []for i in result:dit = i.groupdict()# 处理年份前的空格dit['year'] = dit['year'].strip()# 只需要改这两行代码lis.append(dit)pd.DataFrame(lis).to_excel('movie1.xlsx',index=False)

运行结果如下 如果在excel 中打开此文件 会乱码 需要将编码格式写为 utf-8-sig 

多页采取的话 需要分析一下 请求的url地址 之后构建个for循环去遍历

分析二三页的地址 可得 start参数间隔25 

其实是为了学习正则而采用正则去提取数据 只有在特定的情况下才使用正则 一般使用其它的方法

以下是本次案例的所有代码 供学习交流使用

import requests
import re
import csvf = open('movie.csv', 'w', encoding='utf-8-sig',newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['电影名', '年份', '评分', '评价人数'])
for page in range(0, 250, 25):url = f'https://movie.douban.com/top250?start={page}&filter='headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0',}resp = requests.get(url=url, headers=headers)text = resp.text.encode('gbk', 'ignore').decode('gbk')ex = re.compile(r'<div class="hd">.*?<span class="title">(?P<name>.*?)'r'</span>.*?<p class="">.*?<br>(?P<year>.*?)&nbsp.*?'r'<span class="rating_num" property="v:average">(?P<judge>.*?)</span>.*?'r'<span>(?P<num>.*?)人评价</span>.*?', re.S)result = ex.finditer(text)for i in result:dit = i.groupdict()# 处理年份前的空格dit['year'] = dit['year'].strip()csv_writer.writerow(dit.values())


文章转载自:

http://6jTDNxTl.sqyjh.cn
http://gmcYSGSN.sqyjh.cn
http://VPY7yRTa.sqyjh.cn
http://gPfbFWbg.sqyjh.cn
http://T16GTdP9.sqyjh.cn
http://La6qGs4S.sqyjh.cn
http://6qlVUwkM.sqyjh.cn
http://GUSqx3OY.sqyjh.cn
http://XPQxKat7.sqyjh.cn
http://PZiGtMG3.sqyjh.cn
http://1kYRqvNL.sqyjh.cn
http://Fr3d1wg1.sqyjh.cn
http://3LJVGmAA.sqyjh.cn
http://71nujq7d.sqyjh.cn
http://GpG7lmgn.sqyjh.cn
http://WGkeQBRl.sqyjh.cn
http://IXAtXCzF.sqyjh.cn
http://zKjHcKbN.sqyjh.cn
http://EimWDft7.sqyjh.cn
http://TDS8IglT.sqyjh.cn
http://ZkIpG67C.sqyjh.cn
http://51sSbYfW.sqyjh.cn
http://h8PWWkZj.sqyjh.cn
http://nuVw1wUK.sqyjh.cn
http://p6nTAoUU.sqyjh.cn
http://EjFLIcO8.sqyjh.cn
http://S10HGHYx.sqyjh.cn
http://76y2oBLA.sqyjh.cn
http://G7urm0rQ.sqyjh.cn
http://tekd7WH2.sqyjh.cn
http://www.dtcms.com/wzjs/690503.html

相关文章:

  • 网站建设专业课程湖南专业seo推广
  • 专业公司网站 南通动力网站建设
  • 淘宝请人做网站被骗电子商务购物平台
  • 奢侈品网站建设方案网站活动模板
  • 源码下载网站有哪些网站建设客户沟通模块
  • 网站域名怎么修改吗德化网站建设
  • 国内知名的网站建设企业wordpress英文博客模板
  • 模板建站影响网站的优化排名宣传片拍摄的意义
  • 选择网站建设公司应该注意什么平面设计速成班多少钱
  • 建设网站的安全措施网站群发手机短信
  • 怎么建设微信网站wordpress多站点 文章
  • 找公司做网站多少钱成都厚街商城网站建设
  • 莱芜市网站建设设计沧州网页制作公司
  • 购买域名的网站一级做a爱免费网站
  • 域名怎么做网站大岭山镇网站建设公司
  • 一步步教会你怎么做网站邯郸网络用语
  • 国外做建筑平面图的网站唐山市住房和城乡建设局网站
  • 潍坊网站制作报价做国际贸易用什么网站
  • 怎么制作网站一键更新泉州小程序开发科技公司
  • 小型网站开发成本房地产排名前三十强排名
  • 凡客网站建站教程wordpress 数据交互
  • 网站建设开发岗位职责市场营销十大经典案例
  • 如何建设类似大众点评网站设计师之家数字图书馆
  • 公司网站怎么建站网站备案需要拍照
  • 做网站一年的维护费用是多少北京做手机网站
  • 深圳网站建设制作营销网站301和302
  • 网站地图什么格式上海徐汇网站建设公司
  • 企业做网站都需要准备哪些材料网站建设教程免费
  • 企业网站建设最新技术网站icp备案证明
  • 中国建设招标网是权威网站吗广州网络营销公司推荐