求助正则表达式
查看原帖
求助正则表达式
68207
CreeperLordVader楼主2021/8/19 22:59

我刚刚开始玩爬虫,想爬一下OI wiki上的几大分类

于是写了如下python代码

import requests
import json
import re
url="https://oi-wiki.org/"
resp=requests.get(url)
resp.encoding='utf-8'
s="<li class=\"md-tabs__item\"> <a href=\"(.+)/\" class=\"md-tabs__link\"> (.+) </a> </li>"
lst=re.findall(s,resp.text)
print(lst)

注意s中间两个打了括号的内容,我的本意是,re.findall的时候将括号里对应的英文标签和中文标签都匹配出来(如匹配出["graph","图论"])

结果匹配出来一大堆乱七八糟的东西

[('." class="md-tabs__link md-tabs__link--active"> 简介 </a> </li> <li class="md-tabs__item"> <a href="contest/" class="md-tabs__link"> 比赛相关 </a> </li> <li class="md-tabs__item"> <a href="tools/" class="md-tabs__link"> 工具软件 </a> </li> <li class="md-tabs__item"> <a href="lang/" class="md-tabs__link"> 语言基础 </a> </li> <li class="md-tabs__item"> <a href="basic/" class="md-tabs__link"> 算法基础 </a> </li> <li class="md-tabs__item"> <a href="search/" class="md-tabs__link"> 搜索 </a> </li> <li class="md-tabs__item"> <a href="dp/" class="md-tabs__link"> 动态规划 </a> </li> <li class="md-tabs__item"> <a href="string/" class="md-tabs__link"> 字符串 </a> </li> <li class="md-tabs__item"> <a href="math/" class="md-tabs__link"> 数学 </a> </li> <li class="md-tabs__item"> <a href="ds/" class="md-tabs__link"> 数据结构 </a> </li> <li class="md-tabs__item"> <a href="graph/" class="md-tabs__link"> 图论 </a> </li> <li class="md-tabs__item"> <a href="geometry/" class="md-tabs__link"> 计算几何 </a> </li> <li class="md-tabs__item"> <a href="misc/" class="md-tabs__link"> 杂项 </a> </li> <li class="md-tabs__item"> <a href="topic/rmq/" class="md-tabs__link"> 专题 </a> </li> <li class="md-tabs__item"> <a href="intro/hulu', '关于 Hulu </a> </li> </ul> </div> </nav> <main class="md-main" role="main"> <div class="md-main__inner md-grid" data-md-component="container"> <div class="md-sidebar md-sidebar--primary" data-md-component="navigation"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary" data-md-level="0"> <label class="md-nav__title md-nav_ .......

我这个正则表达式写的不对吗?如果我要达到这样的目标,正确的写法应该是怎么样的?

2021/8/19 22:59
加载中...