웹 자동화웹에서 데이터 얻기꿈의 직장 전화번호 모으기 II

Q

select_one 문의

조회 2195

좋아요 4

2020년 12월 22일()




A
4개의 답변이 있어요



2020년 12월 23일

댓글 3

2020년 12월 23일
저 위에 코드는 select_one이라고 정답을 표기하였어요. branch_name = tag.select('p.city').get_text() 이런식으로 _one을 빼면 오류가 나구요
2020년 12월 31일
저도 궁금합니다.
2020년 12월 31일
branch_name = tag.select('p.city').get_text() #오류남 branch_name = tag.select_one('p.city').get_text() #동작함



2021년 1월 2일

댓글 7

2021년 1월 4일
오 감사합니다.
2021년 5월 24일
tr_tag = soup.select("tr")[1]
td_tags = tr_tag.select("td")
for tag in td_tags:
print(tag.get_text())
2021년 5월 24일
앞의 강의에서는 위와 같이 작성하였는데도 get_text()가 작동하는 이유는 무엇인가요? 첫 번째 select에 반환된 객체에 인덱싱을 했다고 해도 두번째 다시 select를 써서 ResultSet객체가 반환되면 get_text() 못쓰게 되는 것 아닌가요? ㅠㅠ
2021년 5월 25일
td_tags 자체는 리스트 형태지만 반복문을 통해 tag 에 할당되는건 td_tags 의 요소, 즉 Tag 클래스의 인스턴스입니당. 그러므로 쓸 수 있게 되는거에용
2023년 4월 6일
이해가 안돼서 답답했는데, 랑이님의 설명 감사합니다! 짱이네요! ^^
2024년 7월 1일
그럼 select를 사용해서는

import requests
from bs4 import BeautifulSoup

response = requests.get("https://workey.codeit.kr/orangebottle/index")
soup = BeautifulSoup(response.text, "html.parser")
branch_infos = []

branch_tags = soup.select("div.branch")


for branch_tag in branch_tags:
branch_name = branch_tag.select("p.city")[0].get_text
address = branch_tag.select("p.address")[0].get_text
phoneNum = branch_tag.select("span.phoneNum")[0].get_text
branch_infos.append([branch_name, address, phoneNum])
print(branch_infos)

이렇게 인덱스를 하면 리스트 형태가 아니라 요소를 뽑아낸거니까 get_text해도 결과가 같아야 하지 않나용?
왜 아래와 같이 나오나요?
[[San Jose

>, 4823 Fairway Drive

>, 707-514-0033>], [GREAT BARTON

>, 106 Lammas Street

>,
2024년 7월 1일
get_text 만 쓰시면 그냥 메소드 자체를 의미합니당. get_text()와 같이 메소드 호출을 위해선 괄호를 붙여주셔야 해용



2021년 3월 12일



2021년 5월 9일

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇