我正在编写代码来计算两个文本之间的特定文本。这是我写的代码。当我打印(zerg)时,结果如下。为了解释,我简化了结果。
wb4 = load_workbook(Gmarket_keyword_file)
ws4 = wb4.active
last_row4 = ws4.max_row
for gs in range(2, last_row4 + 1):
query = quote(str(ws4.cell(row=gs, column=4).value))
url = 'https://browse.gmarket.co.kr/search?keyword=' + query
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')
zerg = [kr.get_text() for kr in soup.find_all(class_='box__component')]
print(zerg)
结果>>> [아이템카드的먼저둘러보세요광고파워클릭73230클럽상품명남자지갑,남성지갑,가죽,지갑상품명 여성, ...... 아이템카 드골든벨상품명럭셔리, 아이템카드오늘의 상품이에요광고플러>스]
我检查了两个文本作为粗体标记。和特定文本作为斜体标记。整个句子每次都会改变。
这就是我想做的。如果在“먼저 둘러보세요”和“오늘의 상품이에요”之间计算“상품명”,结果是3。
为了解决这个问题,我以为我需要知道“먼저 둘러보세요”、“오늘의 상품이에요”的索引,但是这些文本没有以列表的形式区分。所以我编码如下。
fi = '먼저'
zerg_fi = [sp for sp in range(len(zerg)) if fi in zerg[sp]]
print(zerg_fi)
结果>> [11]
to = '오늘의'
zerg_to = [tdp for tdp in range(len(zerg)) if to in zerg[tdp]]
print(zerg_to)
结果>> [19]
于是,我试着数了一下'상품명'的文字,代码如下。
for zc in range(zerg_fi, zerg_to):
if zerg.count('상품명') < 5:
print('수정불필요')
但是我发现了一条错误消息,指出“list”对象不能解释为整数。如何更改代码以解决此错误。