
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
코드를 입력했는데 아래와 같이 오류가 뜹니다
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
def get_news(keyword):
wb= Workbook()
sheet = wb.active
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(f'https://search.naver.com/search.naver?where=news&ie=utf8&sm=nws_hty&query={keyword}',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
lis = soup.select('#main_pack > section > div > div.group_news > ul > li')
for li in lis:
a = li.select_one('a.news_tit')
row = {a.text, a['href']}
sheet.append(row)
wb.save(f"{keyword}.xlsx")
wb.close()
get_news('삼성전자')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-30-82724b372f00> in <module>
----> 1 get_news('삼성전자')
2 frames
/usr/local/lib/python3.8/dist-packages/openpyxl/worksheet/worksheet.py in _invalid_row(self, iterable)
810
811 def _invalid_row(self, iterable):
--> 812 raise TypeError('Value must be a list, tuple, range or generator, or a dict. Supplied value is {0}'.format(
813 type(iterable))
814 )
TypeError: Value must be a list, tuple, range or generator, or a dict. Supplied value is <class 'set'>
