代码拉取完成,页面将自动刷新
import requests
import re # 正则模块主要用于匹配字符串
'''
具有代表性的四种解析方式 四种方式可以混用
有时数据返回是页面元素,可用一下方式解析获取数据
1. re解析 正则表达式解析,但不好写
2. bs4解析 老东西
3. xpath解析 语法简单速度快,主流
4. pyquery解析 一个模仿jQuery的模块
'''
# 正则表达式
'''
验证正则表达式的在线网站:https:/tool.oschina.net/regex
元字符详解: https://www.cnblogs.com/yugege/p/4821494.html
'''
# 查找所有被匹配的内容 第一个 参数是正则表达式,第二个参数是被匹配的字符串
result = re.findall('a', '123as354a')
if len(result):
print(result)
# 匹配字符串中的数字 在正则前面加个r取消反义
result = re.findall(r'\d+', '123assa23ssa')
print(result)
# 使用和上面一样但得到的结果是一个迭代器,需要遍历
# result = re.finditer(r'\d+', '123assa23ssa') # 返回的是一个迭代器
# for item in result: # 从迭代器拿取内容
# print(item.group()) # 从匹配到的结果中拿出数据
# 预加载写好的正则就不用像上面那样写,可以直接使用
# obj = re.compile(r"\d+")
# obj.findall()
# 搜索 只会搜索到第一次匹配到的内容,后面再有内容也不会被匹配
# result = obj.search('我今年12岁,缺德小学3年2班')
# print(result.group())
# 搜索 从字符串开头开始匹配类似正则加了个^
# result = re.match(r'\d+', '我今年12岁,缺德小学3年2班')
# print(result)
# 根据正则表达式提取数据
# obj = """
# <div><span class='10010'>呆呆的小胖鱼</span></div>
# <div><span class='10086'>傻傻的小胖鱼</span></div>
# """
# 在要提取数据的地方写正则 比如这里要拿 class里的值和span里的内容
# result = re.compile(r"<span class='(\d+)'>(.*?)</span>")
# date = result.findall(obj)
# print(date)
# 得出的结果:[('10010', '呆呆的小胖鱼'), ('10086', '傻傻的小胖鱼')] 这样不方便取出内容 所以可以加一些命名写法如下
# result = re.compile(r"<span class='(?P<id>\d+)'>(?P<name>.*?)</span>")
#
# date = result.finditer(obj)
#
# for i in date:
# id = i.group("id")
# print(id)
# name = i.group("name")
# print(name)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。