#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목lambda의 활용에 대해 질문드립니다.2024-01-10 16:08작성자수강생방학 중 BeautifulSoup를 활용한 웹크롤링에 대해 공부하고 있습니다.import requestsfrom bs4 import BeautifulSoupimport numpy as npBASE_URL = 'https://finance.naver.com/sise/sise_market_sum.naver?sosok='fields = [] CODES = [0, 1]data = {'Menu': 'market_sum', 'fieldIds': fields, 'returnUrl': BASE_URL + str(0) + "&page=" + str(1)} res = requests.post('https://finance.naver.com/sise/field_submit.naver', data=data) page_soup = BeautifulSoup(res.text, 'lxml') table_html= page_soup.select_one('div.box_type_l') inner_data = [item.get_text().strip() for item in table_html.find_all(lambda x:(x.name == 'a' and 'title' in x.get('class', [])) or (x.name == 'td' and 'number' in x.get('class', [])))]print(inner_data)여기서 inner_data를 구할 때 find_all 메서드를 사용하는 데 이때 인수로 lambda를 사용합니다.제가 틀릴 수도 있지만 lambda는 lambda x:(x.name == 'a' and 'title' in x.get('class', [])) or (x.name == 'td' and 'number' in x.get('class', []))처럼 파라미터가 있는 경우에는 인수를 넣어야 오류가 나지 않고 작동한다고 알고 있습니다. 그런데lambda x:(x.name == 'a' and 'title' in x.get('class', [])) or (x.name == 'td' and 'number' in x.get('class', []))의 경우에 x에 인수를 넣어주지도 않았는데 오류 없이 잘 동작을 합니다. 그래서 이것에 의문이 생겼습니다.질문 1. 여기서 lambda는 인수를 어디서, 무엇을 받아오나요?질문 2. 그럼 이것이 BeautifulSoup의 find_all의 특징인가요?감사합니다..... 목록수정삭제답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전[re]2022 1학기 7번 질문드립니다수강생2024-01-14다음2022_1학기 00분반 기출4번 질문있습니다.수강생2024-01-07 Powered by MangBoard | 워드프레스 쇼핑몰 망보드