Bonjour a tous,
cela est un exercice de pratique avec python qui consiste à trouver des chaînes de caractéres spécifique (qui contient des caractéres spéciaux).
j'ai utilisé plusieurs modules de python.
dans ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 import pickle import re import requests from bs4 import BeautifulSoup #pattern = r"(\+\d\s*\d(?:-?\d)+)([\w.-]+@[\w.-]+(?:\.[\w.-]+)*\.[a-z]{2,6})" def dow_web(url): URL = url page = requests.get(URL) spe = BeautifulSoup(page.content, 'html.parser') elems = spe.find_all('loc') # récuperer le contenu de la balise loc for nb in elems: tag = nb.text page = requests.get(tag) sp = BeautifulSoup(page.content, 'html.parser') #récupérer le contenur de HTML reg = r"([\w.-]+@[\w.-]+(?:\.[\w.-]+)*\.[a-z]{2,6})" # regex pour récupérer les emails mat = re.findall(reg, sp) return mat dow_web("https://www.monsiteweb.com/sitemap.xml")
mon regex si je lui passe une variable avec du string dedant il me trouve les emails.
Mon erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Traceback (most recent call last): File "C:/crawler.py", line 24, in dow_web matches = re.findall(pattern, soup) File "C:\Users\AdataY\AppData\Local\Programs\Python\Python38\lib\re.py", line 241, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or bytes-like object
Partager