python3.8爬虫_python爬虫系列(3.8-正则的使用)

一、需要系统的学习正则表达式

1、元字符

1..:除了\n以外的任意字符

2.*:出现0到多次

3.?:出现0或者1次

4.+:表示出现1到多次

2、常用的方法

1.compile:表示生成正则表达式参考地址

2.findall:查找全部注意返回的是一个列表参考地址

import re

import requests

class GuShiWen(object):

def __init__(self):

self.headers = {

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36',

}

def get_html(self):

"""

抓取古诗文第一页内容

:return:

"""

response = requests.get(url=self.url, headers=self.headers)

if response.status_code == 200:

gusiwen_list = []

params = re.compile('.*?(

', re.S)

article_list = params.findall(response.text)

for article in article_list:

gusiwen_dict = {}

title = re.compile('.*?(.*)', re.S).findall(article)[0]

content = re.compile('.*?

(.*?)
', re.S).findall(article)[0].strip().replace('
', '')

gusiwen_dict['title'] = title

gusiwen_dict['content'] = content

gusiwen_list.append(gusiwen_dict)

print(gusiwen_list)

return

print('请求错误')

if __name__ == "__main__":

gusiwen = GuShiWen()

gusiwen.get_html()

1、基本上是使用findall方法

2、主要是网页多行字符要使用re.S

3、如果正则比较复杂的时候使用re.compile()对正则包装下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

erp开发和java开发区别_Java程序员求职必学:Spring boot学习指南!

黑马程序员上海中心学姐微信:CZBKSH关注咳咳,今天学姐就来和你们说说Spring对于Java程序员的重要性。首先,Spring 官网首页是这么介绍自己的——“Spring: the source for modern Java”,这也意味着 Spring 与 Java 有着密切的关系…

irobot擦地机器人故障_33款扫地机器人口碑:售价6350元的戴森口碑垫底,小米、科沃斯谁更好用?...

市面上的扫地机器人琳琅满目,消费者该怎么选呢?2020年6月,《消费者报道》汇总了京东、天猫、苏宁上热销的33款扫地机器人的评价情况,对约3.9万条消费者评价数据进行了分析和评分。评价品牌科沃斯、海尔、iRobot、小米、浦桑尼克、…

专业显卡打游戏测试软件,专业显卡能玩游戏吗?专业卡游戏实测

专业显卡能玩游戏吗?专业卡游戏实测2013年03月06日 00:12作者:汤炜炜编辑:汤炜炜分享泡泡网显卡频道3月6日 图形工作站专业显卡与消费级游戏显卡在硬件上是完全一样的,区别只在于规格微调、驱动不同、软件验证。我们也知道&#x…

python集合运算符_Python 集合、字典、运算符

先区分一下序列类型和散列类型: 序列类型:list、string、tuple,他们中的元素是有序的。 散列类型:set、dict,他们中的元素无序的。(注意:python3.7.0开始字典变成"有序"了&#xff09…

jq点击事件多次响应_Jquery中on绑定事件 点击一次 执行多次 的解决办法

举个例子,在同一个页面有下拉选择框按用户分析按单位分析按角色分析当选择用户分析时,一组用户查询条件展示出来,queryUser查询按钮显示,并绑定查询方法countByUser(),$("#queryUser").on("click",countByUse…

大学生计算机社团该办什么活动,大学生社团活动策划方案

《大学生社团活动策划方案.doc》由会员分享,可免费在线阅读全文,更多与《大学生社团活动策划方案》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、周至周中午,向社联借桌子张,椅子张。由理论学术部所有无课干事及其他各部其中名干事在…

wireshark 查看端口是否正常_网络抓包软件-Wireshark使用分享

Wireshark(以前叫Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是抓取网络封包,并尽可能地显示出详细的网络封包信息。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。基础界面介绍Wireshark软件界面有以下几个功能区域&#xf…

普通计算机用的是什么屏幕,笔记本屏幕的色域 72%NTSC和100%sRGB有什么区别

笔记本屏幕的色域 72%NTSC和100%sRGB有什么区别2018-09-15 11:00:05247点赞724收藏60评论无论是选购普通笔记本还是游戏本,大家除了关心产品的外观和配置外,越来越多的朋友把重点放在了屏幕上,也许TN屏和IPS屏大家很好判断哪个更好&#xff0…

redis源码分析 ppt_【Redis】redis各类型数据结构和底层实现源码分析

一、简介和应用Redis是一个由ANSI C语言编写,性能优秀、支持网络、可持久化的K-K内存数据库,并提供多种语言的API。它常用的类型主要是 String、List、Hash、Set、ZSet 这5种。Redis在互联网公司一般有以下应用:String:缓存、限流、计数器、分…

cv图像翻转_涨点技巧!汇集13个Kaggle图像分类项目的性能提升指南

从数据预处理、增强、模型优化、调参再到损失函数...本文转载自:AI公园作者:Prince Canuma 编译:ronghuaiyang注:文末附CV学习交流群导读覆盖了模型相关的方方面面,从数据准备到模型的推理,每个阶段的方法和…

对于计算机网络技术的课程,计算机网络技术课程剖析.doc

计算机网络技术课程剖析计算机网络技术课程剖析摘 要:计算机网络技术对应用和实践都有着较高的要求,在信息化的时代背景下,我国对于网络技术的人才需求也十分迫切。特别是近年来,随着计算机的普及,网络技术的不断发展和…

miniui datagrid 隐藏列默认赋值_Qt商业组件DataGrid:内置视图和布局详解(一)

QtitanDataGrid是Qt的商业DataGrid组件,它为将表格数据呈现给最终用户提供了真正的非凡可能性。该组件吸收了用于显示表格的用户界面构造领域中的所有现代成就。目前,这是Qt市场上唯一具有如此令人印象深刻的高级功能和出色性能的网格组件。QtitanDataGr…

zookeeper中展示所有节点_分布式协调服务之Zookeeper

??理论篇一、基础概念ZooKeeper是开源分布式协调服务,提供高可用、高性能、稳定的分布式数据一致性解决方案,通常被用于实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。二、ZooKeep…

haskell 求列表最大值_Haskell和自然数之基础篇

对自然数的理解,是随着自己的成长而不断深入的。在小学的时候觉得很自然就理解了,很自然就用起来了,加、减、乘和整除很自然就学会了,感觉没有什么障碍。到了初中的某一天,突然想到一个问题:1 1为什么就是…

九城最多多少组服务器,历经4年之久 九城WOW服务器价值几何

早在4月15日,陈晓薇的内部邮件中就提到了投入7300万美元的魔兽服务器。那时笔者心中就有些关于服务器的一些疑问在萦绕:《魔兽世界》的服务器现在究竟是什么样的状态?这些服务器现在究竟价值几何?随后,网易CEO丁磊和网…

idea怎么给项目改名_微软改名部惹祸了

IT服务圈儿有温度、有态度的IT自媒体平台作者:局长本文经公众号:开源中国(oschina2013)授权转载,如需转载请联系出处几年前,微软发布了一个名为"GVFS"的项目,这是一个 Git 虚拟文件系统,全称为 G…

@postconstruct注解方法没有执行_被标记为事务的方法互相调用的坑(下)

上一节,主要分析了 被标记为事务的方法互相调用,事务失效的原因,思考比较多,这一节主要说说解决方案,思考会少一些。解决方案的核心: 通过代理对象去调用方法1.把方法放到不同的类:如果想学习Ja…

gin ajax 获取请求参数,gin请求参数处理

本章介绍Gin框架获取请求参数的方式1.获取Get 请求参数Get请求url例子:/path?id1234&nameManu&value111获取Get请求参数的常用函数:func (c *Context) Query(key string) stringfunc (c *Context) DefaultQuery(key, defaultValue string) stri…

python argparse_Python 命令行之旅:argparse、docopt、click 和 fire 总结篇

本文首发于HelloGitHub公众号,并发表于Prodesire 博客。一、前言在近半年的 Python 命令行旅程中,我们依次学习了 argparse、docopt、click 和 fire 库的特点和用法,逐步了解到 Python 命令行库的设计哲学与演变。 本文作为本次旅程的终点&am…

阻塞式和非阻塞式udp传输_NIO非阻塞网络编程三大核心理念

本次开始NIO网络编程,之前已经说过BIO,对于阻塞IO里面的问题一定有了清晰的认识,在JDK1.4版本后,提供了新的JAVA IO操作非阻塞API,用意替换JAVA IO 和JAVA NetWorking相关的API。NIO其实有个名称叫new IO。(一)NIO① 介…