首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

js爬虫,正则

昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有json数据,让我帮忙抓一下。...大概看了下,是js加载的,而且数据在js函数中,很有意思,就分享出来给大家一起看看! 抓取目标 ?...但是发现有个js的请求,点击请求,是一行js函数代码,我们将其复制到json的视图查看器中,然后格式化一下,看看结果 ? ?...只是其内容,需要在进行处理一下,我们写到代码中看看 开始写代码 先导入库,因为最终需要从字符串中截取部分,所以用requests库获取请求,正则re匹配内容即可。然后我们先匹配出上述3项 ?...可以看到,url中存在 \ \,标题和简介是以\ \ u4e09的形式存在,这些就是我们需要处理的下一步了!

7.6K20

js正则小结

1,\ 斜杠用于转义,在js正则里,只有一些元字符(*,?,.等)和\本身需要转义,其他的不需要转义,如果其他的字符前面使用了\,可能会产生负面影响,比如\b,\t这些有特殊含义的转义。...此外,在js正则中,\还有一个用处在于使用new RegExp()形式创建正则对象时,比如new RegExp('a\*a'),其中*是乘以的意思,js引擎在解析该正则表达式字符串时,会消耗掉这个斜杠,...{n,m}和以上的情况类似,也可以在后面加?。 'ddd'.match(/d{1,11}/) => ddd, 'ddd'.match(/d{1,11}?/) => d。 5 ....$n ()代表捕获分组,x代表的表达式所匹配的内容可以在x所有的正则中或者其他地方使用。...17 sticky 粘着位类似于全局匹配,当我们使用exec函数时,如果正则表达式中加了g,那么就会下次执行exec函数时就会从上次匹配的结束位置开始。 同样,我们可以通过加y标记来达到这个目的。

7.6K50

Js正则Replace方法

JS正则的创建有两种方式: new RegExp() 和 直接字面量。...就是匹配最多由1个字母或数字组成的字符串 六、test 、match 前面的大都是JS正则表达式的语法,而test则是用来检测字符串是否匹配某一个正则表达式,如果匹配就会返回true,反之则返回false...、replace replace 本身是JavaScript字符串对象的一个方法,它允许接收两个参数: replace([RegExp|String],[String|Function]) 第1个参数可以是一个普通的字符串或是一个正则表达式...第2个参数可以是一个普通的字符串或是一个回调函数 如果第1个参数是RegExp, JS会先提取RegExp匹配出的结果,然后用第2个参数逐一替换匹配出的结果 如果第2个参数是回调函数,每匹配到一个结果就回调一次...:记录本次匹配的开始位置 source:接受匹配的原始字符串 以下是replace和JS正则搭配使用的几个常见经典案例:  (1)实现字符串的trim函数,去除字符串两边的空格 String.prototype.trim

11.8K100

写爬虫,怎么可以不会正则呢?

本文转自公众号『大龄码农的Python之路』 很多人觉得正则很难,在我看来,这些人一定是没有用心。其实正则很简单,根据二八原则,我们只需要懂 20% 的内容就可以解决 80% 的问题了。...我曾经有几年几乎每天都跟正则打交道,刚接手项目的时候我对正则也是一无所知,花半小时百度了一下,然后写了几个 demo,就开始正式接手了。三年多时间,我用到的正则鲜有超出我最初半小时百度到的知识的。...如果正则中有需要使用空格,只能用 \s 代替。 (5)(?aiLmsux) 修饰符不仅可以代码中指定,也可以正则中指定。(?aiLmsux) 表示了以上所有的修饰符,具体用的时候需要哪个就在 ?...Pexp) 示例一: 分组可以让我们用一条正则提取出多个信息,例如: s = '姓名:张三;性别:男;电话:138123456789' m = re.search('姓名[::](\w+)....'), ('bbb456', '456')] ['123', '456'] 零宽断言中讲到 Python 中前项界定必须是定长的,这很不方便,但是配合 findall 有分组时只取分组结果的特性,就可以模拟出非定长前项界定的效果了

36740

js正则表达式

js正则表达式 目录 正则表达式定义及作用 字符串方法使用正则表达式 修饰符及模式 RegExp对象 实际用例 正则在线工具 正则表达式定义及作用 定义 使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式...语法 /正则表达式主体/修饰符(可选) 作用 文本搜索 文本替换 字符串方法使用正则表达式 search()方法 检索与正则表达式相匹配的子字符串,并返回子串的起始位置 代码实例 var...str = 'HvGege' var n = str.search(/ge/i) console.log(n) 输出结果 2 代码解释 i是一个修饰符, 表示搜索不区分大小写 search()方法也可以用于检索字符串中指定的子字符串...(str1) 输出结果 Hvgegegege 代码解释 g是修饰符, 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) 修饰符可以叠加, 此处使用两个修饰符i,g 修饰符及模式 修饰符...[a-z]{2,4}){1,3}$/; return reg.test(str); } 正则在线工具 正则表达式在线测试工具 http://tools.jb51.net/regex/javascript

7.3K30

js正则表达式(一)

https://blog.csdn.net/wkyseo/article/details/78017841 最近对正则表达式又不熟悉了,故重新疏漏API,以后每日写一个正则来练习提升 正则表达式中特殊字符的含义...因此我们可以这么说,在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。...compile compile() 方法用于在脚本执行过程中编译正则表达式,也可用于改变和重新编译正则表达式。...如果您需要这些全局检索的信息,可以使用 RegExp.exec()。...例如,使用 “m”,”^” 和 “$” 将会从只匹配正则字符串的开头或结尾,变为匹配字符串中任一行的开头或结尾,但是找到一个匹配就返回, 加g可以执行全局匹配

3.8K40
领券