[TIL] Day 11 - 웹 스크래핑
⛺ 𝗕𝗼𝗼𝘁 𝗖𝗮𝗺𝗽/멋쟁이사자처럼 AI 스쿨 6기

[TIL] Day 11 - 웹 스크래핑

 

 

 11일차 

  • 게시판 글 가져오기
  • pd.read_html(url, encoding) 을 통해서 DOM 내 테이블 태그 가져오기
    • 데이터 프레임 형태로 가져와 리스트로 저장된다.
    • pd.read_html(res.text) 로 테이블 가져오기
  • requests.get(url, headers, encoding) 을 통해 html 코드 가져오기
    • 단, 코드 상태로 가져와 따로 사용하고 싶다면 BeautifulSoup 을 사용해야한다.
    • response.text 안에 해당 내용이 담겨있다.
    • response.status_code
    • response.encoding
  • bs(res.text, 'lxml') 을 통해서 파싱이 가능하다.
  • html.find()
  • html.find_all()
  • html.select()
    • html.selcet('table')
    • html.select(select copy문)
    • 그 다음에 가져오려면 content[0].get_text()
    • content[0].text 로 가져오기
  • 개발자 도구 - Elements - 오른쪽 마우스 - Select Copy
  • 번호 파싱해오기
    • no = [a['href'].split('/')[-1] for a in a_list]
    • no = list(map(lambda a: a['href'].split('/')[-1], a_list))
    • no = re.findall("\d{7}", str(a_list)) - 정규표현식 사용
    • no = pd.Series(a_list).apply(lambda x:x['href'].split('/')[-1]).values
  •  df['a'] = a_list 를 넣을 때는 행 개수가 맞아야 한다.
  • try - except문
    • raise Exception()
    • try 문으로 먼저 들어가고 오류가 있다면 except 문 실행
  • 테이블 전치
    • t01 = table[[0, 1]].set_index(0).T
    • a.index = b.index 로 인덱스 맞춰주고 concat 하기 (가로 붙여주기)
    • pd.concat([t01, t02], axis=1)

 

 

 회고 

으아 수요일은 항상 힘들어요. 월요일보다 더 힘든 날인 것 같아요.

오늘 미니 프로젝트를 끝내보겠어요. 👊

과연 오늘안에 끝을 낼 수 있을지 의문이지만 시작이 반이니까요 ^___^

 

 

 

 

 


 

728x90