안녕하세요! 크롤링 중 질문드리고 싶습니다.
글쓴이: bedals / 작성시간: 화, 2019/07/02 - 11:01오전
다음과 같은 사이트에서 업종,업소명,주소,담당자,연락처 등을
추출하였는데 여기에서 업소명과 연락처만 추출 할 수 있는 방법이 있을까요?
# -*- coding: utf-8 -*- """ Created on Mon Jul 1 16:33:25 2019 @author: Administrator """ import requests from bs4 import BeautifulSoup a=142 k=0 informationlist=[] file = open('data1.txt', 'w', encoding = 'utf-8') for k in range(143): headers = {'User-Agent': 'Mozilla/5.0'} URL = 'https://qqalba.com/bbs/board.php?bo_table=job&wr_id='+str(k) res = requests.get(URL, headers=headers) soup = BeautifulSoup(res.text) titles =soup.find_all('div', class_="job_vtop") for title in titles: item_name = title.find('div',class_='tbl_wrap5 tbl_frm05').get_text().strip() print(item_name) informationlist.append(item_name) file.write(item_name + '\n') file.close()
Forums:
https://gitlab.com/soyeomul
https://gitlab.com/soyeomul/test/raw/82a31705720c4a3bc4e5032cb3009873fd003286/161823.py
일단 전화번호/업소명 추출하는 산법이 좀 빡세더이다...
출처: https://sancs.tistory.com
출처: https://sancs.tistory.com/21
상크스님의 블로그에 소개된 방법을 쓰면 더 간단하게 추출할 수 있더라구요,,,
바로 아래에다 print(tel, shop) 로 바로 출력해도 되구요,
다른 변수(t_list/s_list) 등에 리스트형식으로 담아도(append) 되구요,,
[ibus-hangul(서라운딩 패치판)에서 작성했습니다]
--
^고맙습니다 감사합니다_^))//
소스코드: https://gitlab.com
소스코드: https://gitlab.com/soyeomul/test/raw/e8478afce07bb13ad23dba128321660373f724ea/161823.py
bs4 대신 curl 로 새롭게 구성했더니 긁어오는 속도가 더 빠릅니다.
[ibus-hangul(서라운딩 패치판)에서 작성했씁니다]
--
^고맙습니다 감사합니다_^))//
그냥 print 하느냐 파일에 쓰느냐를 선택할 수
그냥 print 하느냐 파일에 쓰느냐를 선택할 수 있도록 class 를 좀 보완했습니다.
기본값은 print() 인데, 파일에 쓰려면 WRITE_MODE 값을 True 로 바꾸면 됩니다.
갱신된 소스코드: https://gitlab.com/soyeomul/test/raw/7efd1eed3e3a58556004e0994fe8fd271c48b39a/161823.py
[ibus-hangul(서라운딩 패치판)에서 작성했씁니다]
--
^고맙습니다 감사합니다_^))//
오늘 점심때 우연히 142페이지 모두 질의 후 결과를
오늘 점심때 우연히 142개 페이지 모두 질의 후 결과를 받아보니깐...
142개가 아니라 102개였씁니다. 그래서 실존하는 URL ID 를 목록에 함께 보이게끔 코드를 보완했습니다.
갱신된 소스코드: https://gitlab.com/soyeomul/test/raw/a20cc9be280a5ecb1abec5a891e0326fafc58b60/161823.py
출력결과에 없는 페이지를 실제로 파여폭스로 방문하니깐 없는 주소였씁니다 ===> "게시글이 이동되었거나 삭제되었습니다"
[ibus-hangul(서라운딩 패치판)에서 작성했습니다]
--
^고맙습니다 감사합니다_^))//
뭔가 itertools에 이런 비슷한 기능이 있어야
뭔가 itertools에 이런 비슷한 기능이 있어야 할 것 같은데...
없는 것 같아서 간단히 한 번 만들어 본 뒤 그걸 이용해 봤습니다.
일단 북마크 해뒀다가 소여물 준후에 한번
일단 북마크 해뒀다가 소여물 준후에 한번 실험해보겠습니다.
소중한 코드 감사드립니다^^^
[ibus-hangul(서라운딩 패치판)에서 작성했습니다]
--
^고맙습니다 감사합니다_^))//
반영한 새코드: https://gitlab.com
반영한 새코드: https://gitlab.com/soyeomul/test/blob/fe3781cd1e67371ac32c49466ec8ec0ce9af93f1/161823.py
잘 돌아갑니다!!!
감사합니다 익명사용자님^^^
[ibus-hangul(서라운딩 패치판)에서 작성했씁니다]
--
^고맙습니다 감사합니다_^))//
댓글 달기