는 사실, 난 당신이 찾고있는 내용에 따라 그 두 가지 방법이 있다는 것을 생각합니다. 오타 나하지 "이름"과는 원하는 출력의 앞에 문자열을 "추가"여부를
임 확실하지 않은, 그래서 여기에 내가 그것을 수행하는 방법에 표시되는 두 가지 방법은 다음과 같습니다
- 에서
find_all
메서드에서 얻은 list_tags
메서드의 각 태그 아래에있는 모든 텍스트를 추출하려는 경우 각 단어를 분리하는 등의 조작을하지 않고 get_text()
메서드로 이동하십시오. 그와
, 당신은 같은 간단한 지능형리스트를 선택할 수 있습니다 :
>>> simple_uni_text = [tag.get_text() for tag in list_tags]
>>> simple_uni_text
[u'\nName XYZ\n CTS SANSKRUTI LAYOUT, 90 FEET RAOD, THAKUR COMPLEX, KANDIVALI EAST,Mumbai MAHARASHTRA-400101', u'\nName ABC\n DUT WITHOUT LAYIN, 45 FOOT AODR, RUKTHA SIMPLE, BOMBAY WEST,BOMBAY RASHTRAMAHA-400101']
>>> len(simple_uni_text)
>>> 2 # I pretended the list_tags to have two tags, so it generated a list of length two!
stripped_strings
발전기
을.
아마도 더 까다로운 방법 일 수 있습니다. 그러나 당신은 정밀함을 얻을 수 있습니다.
>>> uni_stripped_words = []
>>> for tag in list_tags:
for string in tag.stripped_strings:
uni_stripped_words.append(string)
>>> uni_stripped_words
[u'Name XYZ', u'CTS SANSKRUTI LAYOUT, 90 FEET RAOD, THAKUR COMPLEX,', u'KANDIVALI EAST,', u'Mumbai MAHARASHTRA-400101', u'Name ABC', u'DUT WITHOUT LAYIN, 45 FOOT AODR, RUKTHA SIMPLE,', u'BOMBAY WEST,', u'BOMBAY RASHTRAMAHA-400101']
>>> len(uni_stripped_words)
8
여기서 list_tags의 각 teag 아래에있는 각 문자열을 다른 문자와 구분합니다. 따라서 실제로 텍스트 앞에 다음과 같은 "이름"과 "추가"를 추가하려면 사용자의 요구에 더 잘 부합 할 수 있습니다.
>>> for word in uni_stripped_words:
print word
Name XYZ
CTS SANSKRUTI LAYOUT, 90 FEET RAOD, THAKUR COMPLEX,
KANDIVALI EAST,
Mumbai MAHARASHTRA-400101
Name ABC
DUT WITHOUT LAYIN, 45 FOOT AODR, RUKTHA SIMPLE,
BOMBAY WEST,
BOMBAY RASHTRAMAHA-400101 # Sorry for the weird text example haha
그러나 두 번째 방법은 제어하기 어렵습니다. 예를 들어 예기치 않은 문자가있을 수 있습니다. 개인적으로 출력물을 파일에 쓸 때 연결하는 것을 선호합니다!
어쨌든 두 경우 모두 결과 목록에 유니 코드 형식의 추출 텍스트가 포함된다는 것을 잊지 마십시오.
건배