inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Giới thiệu lập trình và sử dụng tự động hóa công việc cho nhân viên văn phòng

Web scraping selenium

에러가 자꾸 뜨는데 코드에 문제가 있나요 ㅠㅠ

345

7878rrr1515

4 câu hỏi đã được viết

0

from bs4 import BeautifulSoup
import requests
import pandas as pd
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.suppor import expected_conditions as EC
from selenium.webdriver.common.by import By

browser = webdriver.Chrome('chromdriver')
bills = list()

for i in range(1, 2):
response = requests.get('http://watch.peoplepower21.org/index.php?mid=Euian&show=1&page={}&title=&rec_num=15&lname=&sangim=&bill_result='.format(i))
html = response.text


soup = BeautifulSoup(html, 'lxml')
body = soup.body

div_ea_list = body.find(id='ea_list')
table = div_ea_list.table
tbody = table.tbody

lines = tbody.find_all('tr')

for line in lines:
td_list = line.find_all('td')
bills.append(
[td_list[0].text, td_list[1].text, td_list[2].text, td_list[3].text, td_list[4].text]
)
bill_url = 'http://watch.peoplepower21.org' + td_list[1].a.get('href')

print(bill_url)

browser.get(bill_url)
browser.implicitly_wait(5)
WebDriverWait(browser, 20).until(EC.presence_of_element_located(
(By.ID, 'collapseTwo')

))

html = browser.page_source
soup = BeautifulSoup(html, 'lxml')

body = soup.body
proposers = body.find(id='collapseTwoe').text.replace('','')

bills.append(
[td_list[0].text, td_list[1].text, td_list[2].text, td_list[3].text, td_list[4].text]
)



df = pd.DataFrame(bills, columns=['제안일', '의안명', '발의자명단','상임위','상태' ])
df.to_excel('bill.xlsx')

browser.quit()

python

Câu trả lời 2

0

7878rrr1515

감사합니다.

0

SungYong Lee

안녕하세요. 혹시 이 문제 해결하셨나요? 오타가 중간중간 보이네요. 

6번째 줄에 

from selenium.webdriver.suppor import expected_conditions as EC

이 부분. suppor 이 아니라 support 입니다. 

그리고 9번째 줄에 

browser = webdriver.Chrome('chromdriver')

이 부분. chromdriver가 아니라 chromedriver 입니다. 

이렇게 고치고 나면, 17번째 줄에서 아래와 같은 에러메세지가 뜰 수 있습니다. 

Traceback (most recent call last):

  File "C:/github/python_tutorial_for_salarymen/hk.py", line 17, in <module>

    soup = BeautifulSoup(html, 'lxml')

  File "C:\github\python_tutorial_for_salarymen\venv\lib\site-packages\bs4\__init__.py", line 208, in __init__

    % ",".join(features))

bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

이 문제는 터미널에서

pip install lxml 

명령어를 입력해서 해결할 수 있습니다. lxml 모듈이 깔리지 않았다는 뜻이거든요 

17번째 줄을 통과하고 나니 46번째 줄에 오타가 있습니다. 

proposers = body.find(id='collapseTwoe').text.replace('','')

여기서 collapseTwoe는 오타인 것 같죠? collapseTwo로 수정합니다. 

혹시 openpyxl은 설치하셨나요? 그렇지 않다면 파일 저장할 때 문제가 생길 수 있습니다. 이 경우 

pip install openpyxl

로 설치해주세요. 

에러 메세지를 확인하면서 어디서 문제가 생겼는지 확인하시면, 더 빠르게 파이썬을 습득하실 수 있을겁니다. 강의 막바지까지 들으셨는데, 끝까지 화이팅하세요~!

디스코드 소통창구는 없어졌나요 ??

0

4

1

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

3

1

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

6

1

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

4

1

20번강좌에 대한 질문입니다.

0

5

1

6-6

0

17

1

작업형 1 유형 부분

0

14

1

수강평 이벤트

0

21

2

맥os 유저는 어떻게 하나요?.

0

412

1

엑셀파일과 csv파일 용도 차이는?

1

2395

2

만들고 싶은 프로그램이 있는데요...

0

235

1

강사님께서 영상 내에서 쓰신 단축키에 대해서 질문드립니다.

0

293

1

atom 을 쓰는데 오류가 났습니다ㅠㅠ

0

229

0

셀레늄 실행하면 해당 에러가 뜨고 정상적으로 크롤링 되지 않네요

0

321

1

df=df.sort_values(by=[&#039;시간당 생산&#039;,&#039;근무시간&#039;],ascending=[False,False])

0

373

1

python-docx 오류 도와주세요

0

927

2

python-docx 오류 나요.

0

337

0

self나 __init__등 정확히 제대로 제 것으로 만들기가 힘들어요.(이해안가요)

4

23916

3

csv파일 엑셀에서 변환이 제대로 안됩니다.

0

373

1

employee_result 결과값이 나오긴 했는데 근무시간이 좀 이상해서요

0

264

2

마지막에 노동법 준수하는 if식을 넣은 뒤 에러가 나는데요

0

298

1

20분경에 나오는 파이참 run 을 할때 에러가 나서 잘 안되는데 왜그럴까요?

0

433

2

seperated -> separated ^^

0

612

1

close() ?

0

290

1