파이썬 크롤링에 관하여 질문드립니다.

조회수 638회

목표

  1. 현재 약 1000개이상의 api 를 리스트에 넣는다
  2. for문을 이용하여 api 주소에서 프레임소스를 받는다
  3. 프레임소스에서 div class : "xxx"를 출력한다

목표1번을 할려고하니 http주소api라 그런가 바로 list에 넣을려니 자꾸 에러가 뜨더라고여
그래서 그 친구들을 str로 변환시켜줘야하는데 하나하나 하기에는 너무 번거롭고 방법이 떠오르지 않습니다.

목표2번은 구현은 아직 못해보고있습니다. 머리로는 이렇게하면 되겠지 하는데 역시 뜻대로 되지 않네요

목표3번 소스코드는 아래 부분입니다.

import requests
from bs4 import BeautifulSoup

def get_subjects():
    subjects = []

    req = requesets.get('view-source:http://www.saramin.co.kr/zf_user/jobs/relay/view-detail?rec_idx=36688317&rec_seq=0')
    html = req.text
    soup = BeautifulSoup(html, 'html.parser')
    divs = soup.findall('div', {"class" : "user_content"})

    for div in divs:
        links = div.findall()
    return subjects

여러 동영상과 글을 읽으면서 조금 채워나갔습니다. 각각의 다른 동영상들과 다른 프로그램을 사용하길레 주피터 노트북을 이용하여 만들었습니다.

이 코드는 프레임소스에서 div class를 뽑아낼려고 짜둔건데 아직 미완성입니다.

likns = div.findall()
    for link in links:

이 구문에서 자꾸 문법에 맞지않는다는 오류가 나와서 이해가안되고 있습니다.

class needs:
    def __inif__(self, requirement, preference):
        self.requirement = requirement
        self.preference = preference
    def __str__(self):
        return self.requirement + self.preference

그래서 이 클래스에 넣어서 html에 있는 내용을 파싱하고싶습니다

  • 일단 view-source: 를 빼보세요. 엽토군 2019.8.4 20:50
  • 애초에 뭘 구현하고 계신 것인지요? 사람인은 찾아보니 API가 있습니다. 크롤링하지 마시고 이걸 쓰시길 강력히 권장합니다. http://api.saramin.co.kr/ 엽토군 2019.8.4 20:55
  • 네 api가 있습니다 api에서 뽑을 수 없는 데이터가 있어서 그 부분만 따로 추출할려고합니다. 해서 지금은 텍스트형식으로 원하는 부분까지 뽑아낼 수 있게 되었습니다. 제가 그다음에 다른 문제에 봉착하게되었습니다 알 수 없는 사용자 2019.8.4 20:58

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)