python3 re正则匹配数据获取案例
# coding=utf-8
import requests
import json
from retrying import retry
import re
class TyY:
def __init__(self):
self.url = ["http://www.tylaw.cn/cgi-bin/GLaw.dll?DispInfo&nid={}".format(i) for i in range(3723, 3752)]
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36"
}
@retry(stop_max_attempt_number=3) # 设置最大请求连接数
def _parse_url(self, url):
response = requests.get(url, headers=self.headers, timeout=3)
assert response.status_code == 200
response.encoding = "gb2312"
return response.text
def parse_url(self, url):
try:
html = self._parse_url(url)
except:
html = None
return html
def get_content_list(self, html):
content_list = []
item = {}
item['name'] = re.findall(r"<p align='center' class='titlc'>.*?律师:(.*?)简介.*?</p>", html, re.S)[0] if len(re.findall(r"<p align='center' class='titlc'>.*?律师:(.*?)简介.*?</p>", html, re.S)) > 0 else None
item['email'] = re.findall(r"<div class='contc'>.*?【电子信箱】(.*?) </div>", html, re.S)[0] if len(re.findall(r"<div class='contc'>.*?【电子信箱】(.*?) </div>", html, re.S)) > 0 else None
content_list.append(item)
# print(item)
return content_list
def save_content(self, content_list):
with open("tyy.json", "a") as f:
for content in content_list:
json.dump(content, f, ensure_ascii=False)
f.write(',\n')
def run(self):
url_list = self.url
for url in url_list:
html = self.parse_url(url)
content_list = self.get_content_list(html)
self.save_content(content_list)
if __name__ == '__main__':
tyy = TyY()
tyy.run()
转载于:https://www.cnblogs.com/x-pyue/p/7793555.html
python3 re正则匹配数据获取案例相关推荐
- Python2和Python3正则匹配中文时的编码问题
Python2和Python3正则匹配中文时的编码问题 我们都会遇到这样的人,他们说话时是中文英文穿插使用的.也就是一句话中有中文也有英文,很多时候没有办法避免,尤其是说一些专业术语时,当然也有纯个人 ...
- python3中find函数的用法_Python3正则匹配re.split,re.finditer及re.findall函数用法详解...
本文实例讲述了Python3正则匹配re.split,re.finditer及re.findall函数用法.分享给大家供大家参考,具体如下: re.split re.finditer re.finda ...
- 函数柯里化的作用一:参数复用(正则匹配案例)
什么是函数柯里化 currying? 做题时看到 currying 这个词还挺有意思的,本意是咖喱,翻译为中文叫柯里化,是因为是以逻辑学家 Haskell Curry 命名的. arity(参数个数) ...
- 正则匹配以除了开头和结尾要有个大写_27.Google analytics 中的 正则表达式
餐卡如下文章: GA正则表达式regex终极攻略 - Damon Analyticsdamonanalytics.com https://support.google.com/analytics/a ...
- php正则匹配js中变量_PHP正则表达式核心技术 第4节 php查找匹配函数使用心得
作者:极客小俊 一个专注于web技术的80后 你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人! php中兼容Perl的正则表达式处理函数 在我们说php系统自带的正则处理函数之前,我们 ...
- php正则匹配域名不包含端口_3分钟短文 | PHP极速匹配子字符串,你是怎么做的?...
引言 在项目开发中我们经常会遇到这样的需求,比如用户提交的表单中含有一些文本的内容.我们需要在后台为其进行关键词过滤处理. 那么问题来了,如何在海量的字符串中快速的匹配一些子字符串呢?今天我们就给大家 ...
- python中re模块及正则匹配
Python中正则表达式 re:re是提供正则表达式匹配操作的模块 一.什么是正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某个模式匹配,Python 自1.5版本起 ...
- 正则匹配数字和字母php,用php与js实现正则匹配数字和字母组合的密码
这次给大家带来用php与js实现正则匹配数字和字母组合的密码,用php与js实现正则匹配数字和字母组合密码的注意事项有哪些,下面就是实战案例,一起来看一下. 本文实例讲述了正则匹配密码只能是数字和字母 ...
- JS 正则表达式(正则匹配RegExp)
JavaScript实现对象深拷贝的方法(5种) 知识回调(不懂就看这儿!) 场景复现 核心干货 举例引入 关于RegExp对象 语法 修饰符--区分大小写和全局匹配 方括号--查找某个范围内的字符 ...
最新文章
- C语言hk,C语言再学习
- 物联网技术概论的课程编号_课程 物联网应用实战 7月班仅剩3个席位
- 我爸和在我们小区里的一位老大爷
- iOS中容易混淆的知识点(持续更新中)
- s11.1 lsof:查看进程打开的文件
- “希希敬敬对”团队作业——敏捷冲刺5
- mysql删除完全重复数据库_MySQL中删除完全重复数据的准确SQL语句
- 8本前沿技术书,助力这届「青年人」将科幻变成现实
- 亚洲新首富出炉!富豪榜单大洗牌,马云3年来首次跌出中国前三
- 麦克纳姆轮全向移动机器人斜向直线运动分析
- Owin服务无法启动问题整理
- Go 爱好者福利,《Go 语言编程之旅》正式开源!
- 博士申请 | 美国弗吉尼亚理工大学周大为老师招收图神经网络方向全奖博士生...
- 调试经验——用XML格式定义Excel (.xls格式)文件 (XML Spreadsheet format in Excel)
- 计算机起始时间1970
- 《趣味知识博文》小W与小L带你聊天式备考CDA Level Ⅰ(六)
- windows环境下将yolo-fatest的caffe模型转化为wk模型
- 梦回JDBC —— (Statement对象)
- 国外热度高的域名有哪些类?
- 在try-catch机制优化IO流关闭时,OutputStreamWriter 数据流被截断 新语法
热门文章
- phoenix 根据条件更新_元旦前不必扎堆买新车!北京:出售车辆后,申请更新指标无时限...
- mysql resultset null_com.mysql.jdbc.driver中resultset报NullException
- vue获取url中ip_Kubernetes 集群中这样获取客户端真实 IP
- shared_ptr and
- e7用什么主板_主板当中的纽扣电池有什么用?电池没电了会怎样?
- html文档支持代码高亮,为HTML中的代码添加语法高亮
- python字符映射与文件加密
- nginx服务器配置安全维护,nginx 安全:如何强化服务器配置
- TensorFlow:判断CUDA和GPU是否可用
- python glob用法