Maison > Questions et réponses > le corps du texte
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=11111111111d5c2a51d1e2&page=1&viewtype=basic&category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&page=1&viewtype=basic&category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&page=1&viewtype=basic&category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&"></a>
<a target="blank"href="http://a.b.c.d/abc"></a>
<a target="blank"href="http://a.b.c.d/123"></a>
Je veux obtenir le lien en href
Les trois premiers des 6 liens remplissent les conditions. Comment écrire l'expression régulière (c'est-à-dire que le lien doit avoir le paramètre viewkey page viewtypecategory)
Les deuxième et troisième liens sont les mêmes. Comment les dupliquer (sous python)
黄舟2017-05-18 10:53:20
# python 2.7
import re
a = '''<a target="blank"href="http://a.b.c.d/abc.php?viewkey=11111111111d5c2a51d1e2&page=1&viewtype=basic&category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&page=1&viewtype=basic&category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&page=1&viewtype=basic&category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&"></a>
<a target="blank"href="http://a.b.c.d/abc"></a>
<a target="blank"href="http://a.b.c.d/123"></a>'''
print set(re.findall('''(?=.*(?:viewkey))(?=.*(?:page))(?=.*(?:viewtype))(?=.*(?:category))href=["']([^'"]+)''', a))
伊谢尔伦2017-05-18 10:53:20
Extraire les trois premiers liens :
links= re.findall(r'href=\"(.*?=rf)\"',l_string,re.S)
Déduplication :
new_links=set(links)