BeautifulSoup find() takes no keyword arguments 错误

from bs4 import BeautifulSoup

from selenium import webdriver

import time 

import sys



query_txt = input("크롤링할 내용 입력 :")



path = "C:\Temp\chromedriver_240\chromedriver.exe"

driver = webdriver.Chrome(path)

driver.get("https://www.naver.com")

time.sleep(2)


driver.find_element_by_id("query").send_keys(query_txt)

driver.find_element_by_id("search_btn").click()


driver.find_element_by_link_text("블로그 더보기").click()


full_html = driver.page_source



soup = BeautifulSoup(full_html, 'html.parser')

content_list = soup.find('ul', id='elThumbnailResultArea')

print(content_list)

content = content_list.find('a','sh_blog_title _sp_each_url _sp_each_title' ).get_text()

print(content)



for i in content_list:   

    con = i.find('a', class_='sh_blog_title _sp_each_url _sp_each_title').get_text()

    print(con)

    print('\n')

我在观看在线学习时输入了这段代码,但在循环中它总是出错。con = i.find('a', class_='sh_blog_title _sp_each_url _sp_each_title').get_text() 这一行显示错误 'find() 没有关键字参数'


海绵宝宝撒
浏览 356回答 2
2回答

慕桂英3389331

问题是,您必须使用.find_all()来获取所有<a>标签。.find()只返回一个标签(如果有的话):import requestsfrom bs4 import BeautifulSoupurl = 'https://search.naver.com/search.naver?query=tree&where=post&sm=tab_nmr&nso='full_html = requests.get(url).contentsoup = BeautifulSoup(full_html, 'html.parser')content_list = soup.find_all('a', class_='sh_blog_title _sp_each_url _sp_each_title' )    for i in content_list:    print(i.text)    print('\n')

ABOUTYOU

改用.find('a', attrs={"class": "<Class name>"})。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python