내 스크립트는 imaplib
을 통해 이메일받은 편지함에서 HTML 코드를 가져와 BeautifulSoup
을 전달하고 거기에있는 href
개를 모두 추출하려고 시도합니다. 줄 바꿈 BeautifulSoup에서 데이터 추출 금지
rv, data = M.SEARCH(None, '(FROM "[email protected]")')
if rv == 'OK':
for num in data[0].split():
typ, data = M.fetch(num, '(RFC822)')
html = data[0][1]
soup = BeautifulSoup(html, 'lxml')
for a in soup.find_all('a', href=True):
print a['href']
는 그러나
html
변수는 정확하게
href
, 새로운 라인으로 분할되고, 특히 긴 사람을 반환에서 BeautifulSoup로 방지, 새로운 라인마다
N
문자를 HTML 코드가 포함되어 있습니다.
Theres는 =0D
및 3D
과 같은 이상한 문자 도처에 있습니다.
messages, <a=0D
href=3D"http://links.google.com/wf/click?upn=3DOGGGYNMPA980E3DmngbHusD=
Uo-2BK17XLM3ogFJfQXXXfMWZLdsQSSVv33HbPoHPXGcH8tSf9ZFFU5i-2FrV4O6ISlpDCIVaN5=
83xr1CGoa5yxZimagE5JiSUAhbZH8P7WiNvf35BsXrCxmrmRLMGB-2BJAQ-3D-3D_IcMuwcQVVt=
a699aeVjRRVxwBCNHkXaWO-2FyIlAqZ7CPsryDB24UVYZbMIvGLJb13chayC-2FLeucv-2FTrko=
7LaiaWHkzy85DWXrK1olI1SEJZs-2BMCAWfoVfloGJivlLSH0GQk0XeVT0j383tZrsymuWLF0S2=
q5j3LR91e76dRXQe7p8t5CgrBe-2FqGk6bmURG9XCNw3dwpHnymaR-2FggHQx6GnbbueF7PVp2H=
-2BGoHUEkMOSXJ8FfSgQIiGICvxz1zcBJPw-2FRoE3YDl-2By8XETkXjVaNchNA1ZN8FDCD5VUf=
V9oUOnavAirXX-2FEw1THfSpV4VYDX">unsubscribe</a></td>=0D
</tr>=0D
<tr>=0D
<td height=3D"12"></td>=0D
</tr>=0D
이 문제를 해결하기 위해 우리가 할 수있는 일은 무엇입니까?
당신은 추출 시도 할 수 있습니다 'href'는'BeautifulSoup'에 의존하지 않고 정규 표현식을 사용합니다 – shiva