本文通过一个例子带领大家了解爬虫数据解析中的正则表达式与xpath这两种解析方法。一。基本介绍 正则表达式(regularexpression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 xpath是在XML文档中搜索内容的一门语言。 关于python中正则表达式和xpath的用法,本文就不详细展开,有兴趣的同学可以点赞评论私信我,感兴趣的人多我就会把正则表达式和xpath写出来。二。例子介绍 本文以爬取虎牙直播视频为例介绍这两种方法。 受害网址:https:v。huya。comgall?setid67orderhotpage1 通过分析,可以发现页面中的视频地址链接就存在页面源代码里,为得到视频链接就需要进行数据解析。 1。正则表达式 爬虫中常用的正则表达式的就是贪心算法,python写为(。?) 导入re库,定义提取规则,即r’importrequestsimportreurlhttps:v。huya。comgall?setid67orderhotpage1headers{useragent:Mozilla5。0(WindowsNT10。0;Win64;x64)AppleWebKit537。36(KHTML,likeGecko)Chrome107。0。0。0Safari537。36Edg107。0。1418。52,referer:https:v。huya。comg}resprequests。get(url,headersheaders)objre。compile(rlidatavid。?。?)classvideowrap,re。S)urllistobj。findall(resp。text)print(namelist)2。xpath xpath我们需要知道它的基本用法,会用即可,本文介绍一个简单的办法。 在元素中找到需要的东西,把鼠标放在对应行,点击右键,选择复制复制Xpath 将下图蓝箭头所指行的xpath,内容为〔idroot〕particlesectionul〔2〕,因为我们要提取的是下一层所有li标签里的a标签里的href属性,所以用(任意的节点)表示提取ul和a标签中的所有内容,接上ahref提取a标签的href属性,即视频地址链接。 提取视频名字信息同理。importrequestsfromlxmlimportetreeurlhttps:v。huya。comgall?setid67orderhotpage1headers{useragent:Mozilla5。0(WindowsNT10。0;Win64;x64)AppleWebKit537。36(KHTML,likeGecko)Chrome107。0。0。0Safari537。36Edg107。0。1418。52,referer:https:v。huya。comg}resprequests。get(url,headersheaders)treeetree。HTML(resp。text)urllisttree。xpath(〔idroot〕particlesectionul〔2〕ahref)namelisttree。xpath(〔idroot〕particlesectionul〔2〕atitle)foriinrange(len(urllist)):urlhttp:urllist〔i〕print(url)3。运行结果 三。总结 本文用例子介绍了正则表达式和xpath两种数据解析方法,此外还有Beautifulsoup这一方法。本文的例子只是得到了视频的地址,后续会为大家带来虎牙视频的爬取下载,喜欢的话记得点赞关注哟!谢谢大家。欢迎大家在评论区讨论学习。 头条创作挑战赛