使用regex从网站获取字符串而不使用外部modu

2024-04-19 14:51:30 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法得到所有的链接和文本在下面的html文件。我尝试了所有的方法和很多的答案,但没有真正得到它。你知道吗

<tr>
    <td><a href="pr_background-image.asp">background-image</a></td>
    <td>Specifies one or more background images for an element</td>
    <td>1</td>
</tr>

我希望它返回.asp链接以及下面的描述。新行字符是我的主要问题,它显示为\\r\\n

UPDATE:我不想使用任何外部模块。不是美女。只使用regex,因为我正在处理的东西将被共享,如果用户必须安装其他东西,就没有意义了


Tags: 文件方法答案image文本链接htmlpr
2条回答

在python中使用html最简单的方法是BeautifulSoup或类似的模块。我建议你调查一下。如果您想继续使用regex,可以通过以下方式在两个<td>标记之间允许制表符/空格/新行等:

<td><a href=\"(.+?)\">background-image<\/a><\/td>(?:\n|\r|\t|\ )*<td>(.+?)<\/td>

使用regex来完成您正在寻找的任务有点困难,解析html和使用xpath或dom查询在外观上更具可读性。你知道吗

除此之外,即使没有新行,编写一个足够通用的正则表达式也有点棘手。你知道吗

有关多行regexp,请参见this post。这样,您可能需要使用一个捕获组来获取链接,另一个用于td小区。你知道吗

相关问题 更多 >