gpt4 book ai didi

python - 使用 Python 从 HTML 中提取字符串不适用于正则表达式或 BeautifulSoup

转载 作者:太空宇宙 更新时间:2023-11-03 17:37:37 25 4
gpt4 key购买 nike

我在 Windows 7 上使用 Python 2.7、BeautifulSoup4、正则表达式和 requests。

我从网站上抓取了一些代码,但在解析和提取我想要的位并将它们存储在字典中时遇到问题。我所追求的是代码中显示的文本:

@CAD_DTA\">I WANT THIS@G@H@CAD_LBL

我想要提取和存储大约 50-60 个短字符串,它们前面都是 @CAD_DTA\"> 后面是 @G@H@CAD_LBL 代码中这些字符串都是可变长度的

我已经尝试过:

re.search('@CAD_DTA\">(.+?)@G@H@CAD_LBL',result.text)

其中results.post(url, data = cookie, headers = {'referer': my_referer})的输出

我也尝试过传递str(result.text)

但是re.search一直返回None。这很奇怪,因为如果我将 result.text 的内容逐字复制并粘贴到字符串中,然后通过 re.search 传递它,它就可以正常工作。

我尝试过使用 re.search('@CAD_DTA">(.+?)@G@H@CAD_LBL',result.text) 以防 \被视为一种逃避或其他什么。我不知道。

有人能指出我正确的方向吗?

最佳答案

为了将字符串与文字反斜杠相匹配,您需要在原始字符串中对其进行双重转义,例如:

re.search(r'@CAD_DTA\\">(.+?)@G@H@CAD_LBL',result.text)
^ ^

为了获取找到的匹配项的索引,您可以使用 re.MatchObjectstart([group])

IDEONE demo :

import re
obj = re.search(r'@CAD_DTA\\">(.+?)@G@H@CAD_LBL', 'Some text here...@CAD_DTA\\">I WANT THIS@G@H@CAD_LBL')
print obj.start(1)
print obj.group(1)

关于python - 使用 Python 从 HTML 中提取字符串不适用于正则表达式或 BeautifulSoup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30985493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com