좋아, 이건 약간의 고통입니다. 나는 파이썬으로 약간의 긁어 모으기를하고 있으며, 빈약하게 태그가 붙은 HTML의 몇 줄에서 주소를 얻으려고 노력하고있다. 다음 형식의 예는 다음과 같습니다정규 표현식을 사용하여 단락에서 주소를 가져옵니다.
256-555-5555<br/>
1234 Fake Ave S<br/>
Gotham (Lower Ward)<br/>
내가 좋아하는 것 만 1234 Fake Ave S, Gotham
를 검색 할 수 있습니다. 어떤 아이디어? 나는 밤새 정규식을하고 있었고 이제는 내 뇌가 부드럽다. ...
편집 : 어떻게 데이터가 도착할 것인가에 대한 가능한 시나리오에 대해 자세히 설명한다. 때로는 첫 번째 라인이있을 수도 있고 때로는 그렇지 않을 수도 있습니다. 제가 본 주소의 모든 주소에는 Ave, Way, St가 있습니다. 선택의 요소로 사용하지 않기를 바랄 것입니다. 항상 확신 할 수는 없으므로 항상 그렇게 될 것입니다. 내가 생각했던 어떤
이
- 가 마지막 줄 (그래서, 세 줄이 두 번째 줄이있는 경우에 2 일 모든 선택 것이었다 : 두 번째와 세 번째 라인은 alPhone (또는 가능한 이메일 또는 웹 사이트)입니다 전화 번호가 없을 때 첫 번째 줄은 두 개뿐입니다).
- 괄호 안의 마지막 행의 모든 항목을 선택합니다.
- 두 번째 줄부터 마지막 줄까지를 결합하고 둘 사이에 ","를 추가하십시오.
나는 HTML 코드를 얻기 위해 스 커터를 사용하고 있습니다. 주소는 모두 같은 div에 있으며, 정규 표현식을 사용하여 데이터를 적절한 섹션으로 나누고 싶습니다. 이제 어떻게하는지 알아낼 수 없습니다.
Edit2가 :
은 피르의 의견에 따라, 나는 내가 이미 전화 번호를 분리하는 표현을 만들어 절을 괄호 것을 언급해야한다.전화 (또는 가능한 이메일 또는 웹 사이트) :
((1[-. ])?[0-9]{3}[-. ])?\(?([0-9]{3}[-. ][A?([0-9]{4})|([\w\.-][email protected][\w\.-]+)|(www.+)|([\w\.-]*(?:com|net|org|us))
괄호 :
\((.*?)\)
나는 모든 것을 -하지만 -이 문을 구성 할 사람들을 사용하는 방법을 모르겠어요.
어떻게 "주소"를 지정 하시겠습니까? 입력 및 출력 형식에 대한 자세한 설명을 제공하십시오. 그리고 HTML 파서를 고려하십시오. – Howard
regexps를 건너 뛰고 beautifulsoup와 같은 적절한 html-parser로 이동하십시오. –
실제로 Scraping을 사용하여 스크래핑을 수행합니다. 좀 더 자세히 설명 했어야하는데 설명을 업데이트했습니다. – alukach