빅데이터 분석/파이썬

파이썬 : 웹 스크래퍼 만들기 (1)

류창 2023. 1. 18. 19:55
반응형

웹 스크래퍼란?

 

요약하자면,  웹을 서핑해서 정보를 긁어오는 기능이다.

스크래퍼를 잘 작성해두면, 한번의 키워드로 여러 사이트의 정보들을 가져와서 가공할수있다.

 

 

 

사용할 기술:  Python과 각종 라이브러리

 

 

간단하게 replit.com 사이트를 통해서 작성을 해볼것이다.

 

 

 

 

로그인을 한뒤 여기서 파이썬 프로젝트를 간단히 만들어보자.

 

 

 

라이브러리 BeautifulSoup를 사용하여 웹을 스크래핑할것이다.

 

https://www.crummy.com/software/BeautifulSoup/bs4/doc/#find

 

Beautiful Soup Documentation — Beautiful Soup 4.9.0 documentation

Non-pretty printing If you just want a string, with no fancy formatting, you can call str() on a BeautifulSoup object, or on a Tag within it: str(soup) # ' I linked to example.com ' str(soup.a) # ' I linked to example.com ' The str() function returns a str

www.crummy.com

 

이 라이브러리는 웹 스크래핑을 도와주는 기능이므로,  설명과 메소드는 위 링크를 첨부한다.

 

 

 

파이썬을 키고나서 pacages를 먼저가자  시작전에 필요한 라이브러리를 다운을 받을것이다.

 

다운받을 라이브러리:

requests : HTTP요청 라이브러리

BeautifulSoup4 : 웹스크래핑 라이브러리

Selenium : 브라우저(크롬) 우회용 라이브러리 

()

Flask :  파이썬 전용 웹사이트 제작 라이브러리

 

이렇게 다운받아주자.

 

https://weworkremotely.com

 

We Work Remotely: Remote jobs in design, programming, marketing and more

Find the most qualified people in the most unexpected places: Hire remote! We Work Remotely is the best place to find and list remote jobs that aren't restricted by commutes or a particular geographic area. Browse thousands of remote work jobs today.

weworkremotely.com

 

여기서 한번 웹스크래핑을  해볼것이다.

 

 

wwr.py파일을 하나 만들어서 스크랩핑을 한다.

 

base_url를 검색엔진의 키워드 직전까지 미리 작성을 해둔다.

그 후,  base_url과 keyward를 합쳐 작성한뒤 http에 Get요청을보낸다. 

 

 

results 는 발견한 정보들을 담는 용도이다.

 

만약 요청보낸 상태코드가 올바르지않으면  예외처리를 해주고, 맞다면 진행을한다.

 

여기서 코드를 적을때 직접 그 사이트 html코드를 읽어보면서 추출 해야한다.

BeautifulSoup(response.text ,"html.parser") 를 입력하면 해당페이지의 html코드를 딕셔너리형태로 정리를 해놓는다.

 

이제부터 세분화를 시작한다.

 

soup에서 빼온 정보중 "section" 태그중 class_가 "jobs" 를 빼온다.

 

빼온 job section 에서 job_post를 빼온다.

 

빼온 job_post에서 각종 직업구인 정보를 빼온뒤 job_data로 객체를 만들어서 저장한다.

 

 

일차적으로 웹 스크래퍼의 기능을 만들어봤다. 

 

다음 단계로 웹사이트를 만들어서 한번 결과물을 출력해보자!

 

반응형