200311_TIL

|

오늘 한 일

python

  • 크롤링 프로그램 예외처리를 통해서 프로그램을 좀 더 유연하게 동작하도록 했다.

느낀 점

예외처리를 공부해야겠다.

내일 할일

  • 패스트캠퍼스 강의 듣기

200309_TIL

|

오늘 한 일

python

  • 골프 크롤링 프로그램 제작 진행
  • max() 내장함수를 사용할 때, key 키워드를 사용하여 lambda나 함수를 넣어주면 max를 더 적극 활용할 수 있음을 느꼈다.

예시

all_dict = {'a':1, 'b':2}
max_key = max(all_dict, key=lambda k: all_dict[k])
print(all_dict[max_key])

람다의 인자로 all_dict의 키가 들어가서 all_dict의 value를 리턴하여 이 value들로 max값을 구할 수 있다.

느낀 점

역시 구글링의 힘은 대단하다. 영어 공부도 열심히 해서 더 다양한 자료를 찾을 수 있도록 해야겠다.

내일 할일

  • 골프 크롤링 프로그램, 최종 딕셔너리 값들을 csv로 저장하기
  • csv 구조 생각해보기

200306_TIL

|

오늘 한 일

python

  • 리스트의 sort()메소드는 리턴값이 없기에, 함수 인자로 활용할거면 sorted() 내장함수를 이용해서 넘겨주도록 하자
  • break문은 하나의 for문을 종료시킬 때 사용하는 것이다.

200305_TIL

|

오늘 한 일

python

자기전에 기능 추가하고 자려했는데, 계속 오류가 나타나는 것이다. 무엇이 문제인지 계속 사태를 벌이다가 아주 허무하게 해결했는데, 한 메소드가 오타낸 것이었다… select라 할 것을 seclet로 했던 것이다.

딕셔너리와 enumerate를 같이 쓸 때는 튜플로 묶어줘야 한다.

for num, (key, item) in enumerate(딕셔너리.items()):
    print(num, key, item)

느낀 점

오타가 안나도록 꼼꼼히 봐야겠다.

내일 할 일

예외 처리에 대해 공부하기

200304_TIL

|

오늘부터 TIL도 약간 상세히 적어봐야겠다.

오늘 한 일

python

어제 requestsBeautifulsoup을 가지고 크롤링을 프로그래밍을 하고 있었다. 근데 이상하게도 분명 html 소스코드도 잘 갖고 오는데, Beautifulsoup으로 selector를 이용해 테이블 내용을 추출하면 이상하게 원하는 값이 안나왔다. 내가 잘못한 것인가 하고 여러 삽질을 해봤으나, 결과는 계속 같았다. 그렇게 개발자 도구의 Element탭과 원래 웹 페이지 소스를 비교하던 중 차이점을 알게됐는데, <tr>태그가 닫히고 나서도 바로 밑에 닫힌 </tr> 태그가 하나 더 있던 것이다. 아마 검색을 더 해봐야겠지만, 내 크롬에서는 짝인 없는 태그는 삭제되는거 같다. 그래서 requests만으로는 해결이 될거 같지 않아 seleniumchromewebdriver을 통해 크롬 Element탭과 동일한 소스를 갖고올 수 있다 하여 사용했고, 성공했다! 약간의 부하는 더 생기겠지만, 이게 현재로선 최선인거 같다.

git

현재 Pycharm을 사용하고 있는데, 파일 추가할 때마다 git add할지 묻는데, 실수로 했던 파일이 있었는지, 같이 commit 될뻔했다. 참고 블로그

느낀 점

확실히 이론으로만 공부하다가 내가 삽질해가면서 찾아가는게, 효과가 아주 좋은거 같다. 비록 시간은 많이 걸리지만 성취감은 좋다.

내일 할 일

git에 대해 공부해봐야겠다.