파이썬 웹크롤링 질문이에요ㅠㅠ 도와주세요
조회수 857회
파이썬으로 github.com에 로그인 하는 코드인데요 왜 안되는지 잘 모르곘습니다.
user_id와 user_pw에는 제 아이디와 패스워드를 넣었습니다
import mechanicalsoup
from pprint import pprint
from requests.utils import dict_from_cookiejar
browser=mechanicalsoup.Browser()
user_id='id'
user_pw='password'
login_page=browser.get("https://github.com/login")
login_form=login_page.soup.select("#login")[0].select("form")[0]
login_form.select("#login_field")[0]['value']=user_id
login_form.select("#password")[0]['value']=user_pw
page2=browser.submit(login_form, login_page.url)
messages = page2.soup.select('div.dropdown-header.header-nav-current-user.css-truncate')[0]
if messages:
print(messages.text.strip())
cookies=dict_from_cookiejar(page2.cookies)
pprint(cookies)
이렇게 실행하면요
Traceback (most recent call last): File "C:\python3_login_github.py", line 24, in messages = page2.soup.select('div.dropdown-header.header-nav-current-user.css-truncate')[0] IndexError: list index out of range
이 오류가 뜹니다 제가 이쪽 공부중이라서 아직 구체적으로 질문은 못드리겠어요 죄송해요
이게 책에 있는 소스코드 그대로 쓴건데요 왜 안되는지 모르겠네요 사이트가 약간 변경된걸까요?
그렇다고 저자가 피드백해주는 곳도 없어서 이곳에 적어봅니다
도와주시면 정말 감사하곘습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
page2.soup.select('div.dropdown-header.header-nav-current-user.css-truncate')
의 결과가 빈리스트([])이기 때문에 [0]으로 인덱싱하면 리스트 인덱스 범위를 벗어났다고 오류가 나오는 것으로 보입니다. 따라서 해당 페이지의 태그 코드를 다시 분석해보셔야겠습니다.-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력