반응형
제주도를 가고 싶었는데, 아직인 데... 제주도에 가면 어떤 맛집이 있는 지 궁금하기도 하고 해서
많은 블로거 들이 작성한 글을 찾아서 제주 맛집을 찾아 보려고 한다.
import requests
from bs4 import BeautifulSoup
import urllib
import sqlite3
from datetime import datetime
import re
conn = sqlite3.connect("opDeGangDB.sqlite", isolation_level=None)
rs = conn.cursor()
rs.execute('''CREATE TABLE IF NOT EXISTS chejuList1
(id integer PRIMARY KEY, url text, Name text, writeDate text)''')
insSql = '''
insert into chejuList1 (url, name, writeDate)
values ('{0}', '{1}', '{2}')
'''
searchKey = '제주맛집'
for idx in range(1, 100):
print(idx)
url = "https://search.daum.net/search?w=blog&m=board&collName=blog_total&q={0}&spacing=0&DA=PGD&p={1}".format(urllib.parse.quote_plus(searchKey), idx)
response = requests.get(url)
bs = BeautifulSoup(response.text, 'html.parser')
for item in bs.find_all(class_="f_link_b"):
rs.execute(''' select count(*) from chejuList1 where url = "{0}" '''.format(item['href']))
if rs.fetchone()[0] == 1:
pass
else:
print(item['href'] + ' ' + item.text)
rs.execute(insSql.format(item['href'], item.text.replace("'",""), datetime.today().strftime("%Y%m%d%H%M%S")))
regex = r'(\w+[원,산,남,울,북,천,주,기,시,도]\s*)?' \
r'(\w+[구,시,군]\s*)?(\w+[구,시]\s*)?' \
r'(\w+[면,읍]\s*)' \
r'?(\w+\d*\w*[동,리,로,길]\s*)' \
r'?(\w*\d+-?\d*)?'
rs.execute(''' select url, Name, writeDate from chejuList1 ''')
items = rs.fetchall()
for item in items:
print(item[0] + ' ' + item[1])
response = requests.get(item[0])
bs = BeautifulSoup(response.text, 'html.parser')
text1 = re.sub('(<([^>]+)>)', '', bs.get_text())
tt = ''
for line in text1.split('\n'):
if line.strip() != '':
print(re.search(regex, line.strip()))
#break
일단 할 수 있는 것은 다음 검색에서 제주맛집 을 찾아보자... 그리고 이제 그것을 스크랩해서 제주도에 있는 맞집 리스트를 만들어 보는 것이다. 블로거 들이 작성한 것이기 떄문에 나름 검증은 되었다고 봐도 될 듯 하고, 그 리스트를 잘 정리하면 중복 되는 것도 있을 꺼고... 그렇게 해서 나만의 맛집 목록을 만들어 보는 것이다.
ㅋ~
많은 블로거님들 감사합니다.
반응형
'파이썬 스크립트' 카테고리의 다른 글
파이썬으로 제주의 맛집을 찾아서 (3) (2) | 2021.12.24 |
---|---|
파이썬 으로 제주 맛집 주소를 찾아서 (2) (3) | 2021.12.23 |
파이썬으로 sqlite 테이블에 칼럼을 새로 추가 하기 (3) | 2021.12.21 |
파이썬 자동화 스크립트 : 메일 보내기 (0) | 2021.12.20 |
파이썬 자동화 스크립트 : Firebase Cloud Messaging 보내기 (5) | 2021.12.19 |