강의

멘토링

로드맵

Inflearn Community Q&A

shin9201154131's profile image
shin9201154131

asked

[Renewal] Python Introduction and Web Crawling Basics Bootcamp [Python, Web, and Data Understanding Fundamentals] (Updated)

Getting Familiar by Writing Yourself: Solving Basic Crawling Practice Problems (Updated)

여러 사이트에서 한번에 크롤링

Written on

·

933

0

안녕하세요 선생님,

site_list =[ 'A사이트' , 'B사이트' ] 같이 여러 웹페이지를 한번에 불러오는 법을 가르쳐 주셧는데요, 문득 든 궁금점이 추가한 각각의 홈페이지에서 추출하려는 데이터가 각기 다른  CSS select 구문을 필요로 하면 어떻게 해야하는건가요? 

일단 data = soup.select ('#productListArea > ul > li > p >a' , '#main > div > section > div > div') 이런식으로 콤마 뒤에 추가해보았는데 적용이 되지 않습니다. 

질문이 정확하지 않은 것 같아 말씀드리자면 제가 시도했던 것은  A 일보 헤드라인, B 일보 헤드라인, C 일보  헤드라인을 추출해서 한번에 보여주는 기능을 만드는 것이었습니다.

감사합니다. 

python웹-크롤링

Quiz

46% of people got it wrong. Give it a try!

웹 크롤링 시 Chrome 개발자 도구의 'Elements' 탭을 활용하는 주된 목적은 무엇일까요?

웹 페이지의 전체 소스 코드를 자동으로 수정하기 위해

웹 페이지 요소의 HTML 구조, 태그, 클래스/ID를 파악하기 위해

크롤링 속도를 실시간으로 측정하고 최적화하기 위해

웹 서버에 과부하를 주어 응답 속도를 테스트하기 위해

Answer 2

0

Tony Shin님의 프로필 이미지
Tony Shin
Questioner

감사합니다 선생님! 말씀해주신대로 한번 해보겠습니다!

0

funcoding님의 프로필 이미지
funcoding
Instructor

안녕하세요.

각 사이트별로, request 를 하고, 파싱하고, select() 를 하셔야 해요.

for site in site_list:

    request

    파싱

    data = select()

와 같은 형태로 각 사이트별로 진행하셔야 합니다. 추출된 data 는 별도 리스트 변수에 append() 로 넣어주셔야 하고요. 이 부분은 난이도가 있는 부분이기 때문에, 이 정도 설명으로 아직은 부족하다면, 전과 같이 각 사이트별로 코드를 실행하고 각 결과를 별도 리스트 변수에 append() 하시는 것이 더 좋을 것 같습니다.

감사합니다.

shin9201154131's profile image
shin9201154131

asked

Ask a question