Open hunkim opened 8 years ago
안녕하세요. 국회 서버가 50x를 반환하는 경우가 종종 있는데 지금은 retry를 하지 않고 그냥 pass하고 있습니다.
그런데 저도 방금 코드를 돌려서 확인해보니 요청하는 url (ex: http://likms.assembly.go.kr/bill/jsp/BillSearchResult.jsp?AGE_FROM=17&AGE_TO=17&PAGE=1&PAGE_SIZE=50) 자체가 루트 페이지로 redirection 되고 있네요. 오히려 팀포퐁 서버에서 의안이 제대로 크롤링 되고 있는게 좀 이상한데, 이 문제는 조금 더 찬찬히 뜯어봐야할 것 같습니다. (작성한지 너무 오래된 코드라서요 ^^;)
그렇군요. Fail이 나면 3번 정도 retry 하고 안되면 바로 stop 하는것이 일부 데이타를 받아 오는것 보다 나은것이 아닐까 생각합니다.
아니면 지금 국회의원 자료 넣어 주신것 처럼 하루에 한번 정도 업하신 다음 전체 bill json 파일을 github에 자동으로 넣어주시는 것은 어떠신지요? 그렇게 되면 여러곳에서 국회 서버를 괴롭힐 필요도 없고 잘 만들어진 json 파일을 본인들의 프로젝트에 이용할수 있을것 같은 생각이 듭니다.
diff가 잘 보이니 update된 파일들을 찾기도 매우 쉬울것 같아요.
감사합니다.
2015-11-30 14:45 GMT+08:00 Lucy Park notifications@github.com:
안녕하세요. 국회 서버가 50x를 반환하는 경우가 종종 있는데 지금은 retry를 하지 않고 그냥 pass하고 있습니다. https://github.com/teampopong/crawlers/blob/master/bills/meta/html.py#L54
그런데 저도 방금 코드를 돌려서 확인해보니 요청하는 url (ex:
http://likms.assembly.go.kr/bill/jsp/BillSearchResult.jsp?AGE_FROM=17&AGE_TO=17&PAGE=1&PAGE_SIZE=50) 자체가 루트 페이지로 redirection 되고 있네요. 오히려 팀포퐁 서버에서 의안이 제대로 크롤링 되고 있는게 좀 이상한데, 이 문제는 조금 더 찬찬히 뜯어봐야할 것 같습니다. (작성한지 너무 오래된 코드라서요 ^^;)
— Reply to this email directly or view it on GitHub https://github.com/teampopong/crawlers/issues/33#issuecomment-160537246.
오 bill 목록을 https://github.com/teampopong/data-assembly 에 업데이트하는 것 정말 좋은 아이디어인듯합니다. 오늘 밤부터 적용될 수 있도록 해보겠습니다.
오오~ 그렇게 된다면 (일단 19대부터) 정말 좋겠습니다. 제가 모오놓은 19대 Json 파일을 보니 204M 밖에 안되는 군요. github는 repository 당 대략 1G정도 허용하는듯.
내일 아침이 기다려 집니다. 정말 감사합니다.
2015-11-30 15:04 GMT+08:00 Lucy Park notifications@github.com:
오 bill 목록을 https://github.com/teampopong/data-assembly 에 업데이트하는 것 정말 좋은 아이디어인듯합니다. 오늘 밤부터 적용될 수 있도록 해보겠습니다.
— Reply to this email directly or view it on GitHub https://github.com/teampopong/crawlers/issues/33#issuecomment-160541310.
목록을 올려주셔서 감사합니다.
https://github.com/teampopong/data-assembly/blob/master/bills.csv
혹시 process된 각 bill별 json 파일들도 가능할까요? 그럼, Bill정보가 필요한 다른 분들은 crawler 를 전혀 돌릴 필요가 없을것 같습니다. 파일이 용량이 있긴 해도 (240M) 이정도는 github에서 잘 cover해줄듯 합니다. 한번 up된 다음에는 delta만 올라가니 큰 부담을 없을듯 한데...
제가 너무 많은 것을 부탁드리는것 같습니다.
2015-11-30 16:04 GMT+09:00 Lucy Park notifications@github.com:
오 bill 목록을 https://github.com/teampopong/data-assembly 에 업데이트하는 것 정말 좋은 아이디어인듯합니다. 오늘 밤부터 적용될 수 있도록 해보겠습니다.
— Reply to this email directly or view it on GitHub https://github.com/teampopong/crawlers/issues/33#issuecomment-160541310.
올려주신 리스트를 이용해서 제가 main.py를 돌려보았더니 제 서버에서는 시간이 꽤 많이 걸리네요. (기록을 위해 올려둡니다.)
$ ls -1tl | (head -n2 && tail -n1) -rw-rw-r-- 1 ubuntu ubuntu 42487 Dec 1 19:41 1911361.html -rw-rw-r-- 1 ubuntu ubuntu 33022 Dec 1 10:11 1904984.html
9시간 30분이 걸리고
$ ls -1tl | (head -n2 && tail -n1) -rw-rw-r-- 1 ubuntu ubuntu 11772 Dec 1 20:13 1917980.json -rw-rw-r-- 1 ubuntu ubuntu 23670 Dec 1 19:41 1900001.json
Json process까지는 10시간이 걸리네요.
참고로 AWS t2.micro 일본 서버에서 돌립니다.
thread 로 너무 빨리 받아와서 그런 것 같습니다. 같은 에러로 못가져오더니, thread끄고 하나씩 가져와보면 잘 가져오는군요. redirect의 경우, referer를 설정하면 redirect안되고 referer 없으면 root로 redirect되는 것 같습니다. 제 pc에서도 crawl됩니다.
Crawler 돌리다가 이런 에러가 많이 보이는데 일단 Total 18119 bills, 363 pages to ./sources/list/19 정보는 받아 오는 것으로 봐서 제 서버를 막은 것은 아닌것 같은데 왜 그런 것일까요?
그리고 이렇게 fail 할경우 retry해서 해당 파일을 받아 오나요? 아님 그 리스트에 있는 bill들은 무시 되나요?