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

深圳网站建设公盐城seo优化

深圳网站建设公,盐城seo优化,做产品目录设计用什么网站好,网站定制开发什么意思目录 前言 一、正则基本使用 1.1 导包 1.2 接口方法 1.3 换行匹配问题 二、实战案例 完整代码 前言 在爬虫工作中,我们主要会遇到两种类型的文本数据: JSON格式数据 HTML文档数据 对于JSON字符串数据,通常使用Python的字典操作进行键…

目录

前言

一、正则基本使用

1.1 导包

1.2 接口方法

1.3 换行匹配问题

二、实战案例

完整代码


前言

在爬虫工作中,我们主要会遇到两种类型的文本数据:

  1. JSON格式数据

  2. HTML文档数据

对于JSON字符串数据,通常使用Python的字典操作进行键值对提取或者使用正则语法;
对于HTML文档,则主要采用XPath表达式和CSS选择器(bs4)进行数据解析和提取。

一、正则基本使用

1.1 导包

import re

1.2 接口方法

re.findall(参数1,参数2)

参数1:写正则语法,匹配规则

参数2: 字符串数据

例1:匹配 id 的内容

import re
# 1,字符串数据
str = ' <meta id="my name is zhouhuan" http-equiv="Content-Type" content="text/html;charset=utf-8">中国<共??产yes党'
# 2,匹配语法
result = re.findall('id="(.*?)" http',str)
# 3,打印结果
print(result)

.*?:要匹配的内容换成 .*?
() :只会返回括号内的内容

 例2:匹配所有中文

import re
# 1,字符串数据
str = ' <meta id="my name is zhouhuan" http-equiv="Content-Type" content="text/html;charset=utf-8">中国<共??产yes党'
# 2,匹配所有中文
result = re.findall('[\u4e00-\u9fa5]',str)
# 3,打印结果
print(result)


例3:过滤和替换非法字符

import re
# 1,字符串数据
str = "abc?de|fg><hi:jk"
# 2,过滤非法字符
result1 = re.findall('[\\\\/:*?\"<>|]',str)
# 3,替换非法字符
result2 = re.sub('[\\\\/:*?\"<>|]',"_",str)
# 4,打印结果
print("过滤的非法字符有:",result1)
print("替换后的str字符串为:",result2)


1.3 换行匹配问题

import re
# 1,换行匹配问题
str ='''<div>中国共产党万岁</div>
'''
# 2,规则默认是在一行匹配,换行后重新匹配,所以匹配到的是空 []
result = re.findall('<div>(.*?)</div>',str)
# 打印结果
print(result)  # []

解决方案:待定...


二、实战案例

需求:爬取斗鱼直播星秀板块直播的主播《标题》和《网名》

链接(url):星秀直播_星秀视频_斗鱼直播

分析步骤:

1,先抓包找到需要的目标 url

2,先打印一下爬取到的所有数据

完整代码

import re
import requests
# 实战之爬取斗鱼星秀板块主播标题
# 1,目标url
url = 'https://www.douyu.com/wgapi/ordnc/live/web/room/mixList/2/1008/0/1?'
# 2,身份伪装
header={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
}
# 3,发起请求
response = requests.get(url=url,headers=header)
# 4,打印响应内容(确认是否获得响应)
# print(response.text)
# 5,使用正则解析:主播标题
title_list = re.findall('"rn":"(.*?)"',response.text)
print(title_list)
# 6,使用正则解析:主播名字
name_list = re.findall('"nn":"(.*?)"',response.text)
print(name_list)# 7,展示数据:len(title_list) 打印列表的长度
print("主播网名    直播标题")
for i in range(len(title_list)):print(name_list[i],":",title_list[i])


 

http://www.dtcms.com/wzjs/353332.html

相关文章:

  • 深圳网站建设服务哪一个便宜长沙seo优化排名推广
  • 荣成网站制作公司b站推广是什么意思
  • 成都网络优化网站建设企业宣传方式
  • 吉林省住房和城乡建设部网站软文
  • h5素材免费下载网优化设计单元测试卷答案
  • 济南大型网站建设宁波seo网络推广定制多少钱
  • 安贞网站建设公司百度公司排名多少
  • 各大高校的校园网站建设免费网站推广产品
  • 石家庄微网站建设小红书seo关键词优化多少钱
  • 网站基础建设和管理暂行办法沈阳百度seo关键词排名优化软件
  • 网站设计及建设合同邹平县seo网页优化外包
  • 网站建设青岛杭州seo论坛
  • 重庆做网站建设公司排名seo职业规划
  • 河南手机网站建设爱站关键词挖掘软件
  • 免费商城版网站百度竞价排名收费标准
  • 电商网站开发源码公司怎么做网站推广
  • 网站统计功能设计上海今天刚刚发生的新闻
  • 临夏州建设网站爱网站
  • 建设部网站城建学院湘潭关键词优化公司
  • 做新闻网站编辑需要什么怎么开设自己的网站
  • baidu网站建设百度资讯
  • 微网站开发制作注册网站平台
  • 电子商城网站建站客十大最靠谱教育培训机构
  • 济南网站建设联系小七建设网站的步骤
  • 朝阳改版网站营销团队找产品合作
  • 中国做乱的小说网站怎么建立一个自己的网站
  • cms管理手机网站指数基金什么意思
  • 云网站 深圳seo快速排名软件网站
  • 网站空间商 权限百度竞价点击价格
  • 政府基层网站建设问题ppt网站整站优化公司