연습겸 한 번 디시 플갤 개념글 크롤러를 만들어 봤는데...


import requests
from
bs4 import BeautifulSoup

page=1
num=1
target = requests.get('http://gall.dcinside.com/board/lists/?id=programming&exception_mode=recommend&page=%d' % page)
soup = BeautifulSoup(target.text, 'html.parser')
target_table = soup.find_all('tr', class_='tb')

while True:
try:
print('No.', target_table[num].find(class_ = 't_notice').text, \
':', target_table[num].find(class_ = 't_subject').a.text, \
':', target_table[num].find(class_ = 't_writer user_layer')['user_name'])
num += 1
except IndexError:
page += 1
num = 3
target = requests.get(
'http://gall.dcinside.com/board/lists/?id=programming&exception_mode=recommend&page=%d' % page)
soup = BeautifulSoup(target.text, 'html.parser')
target_table = soup.find_all('tr', class_='tb')
continue

이렇게 짰거든요? 근데 target, soup, target_table 변수를 2번 써야하는게 맘에 안들어서...


import requests
from bs4 import BeautifulSoup

page=1
num=1

while True:
target = requests.get(
'http://gall.dcinside.com/board/lists/?id=programming&exception_mode=recommend&page=%d' % page)
soup = BeautifulSoup(target.text, 'html.parser')
target_table = soup.find_all('tr', class_='tb')
try:
print('No.', target_table[num].find(class_ = 't_notice').text, \
':', target_table[num].find(class_ = 't_subject').a.text, \
':', target_table[num].find(class_ = 't_writer user_layer')['user_name'])
num += 1
except IndexError:
page += 1
num = 3
continue

이렇게 고쳐봤더니 속도가 10배 이상 느려지더라고요 ㄷㄷ;;

이게 뭔 차이길래 속도가 이렇게 느려져요?