【发布时间】:2017-11-20 08:07:29
【问题描述】:
我正在将网页中的一些特定标签保存到 Excel 文件中,所以我有以下代码:
`import requests
from bs4 import BeautifulSoup
import openpyxl
url = "http://www.euro.com.pl/telewizory-led-lcd-plazmowe,strona-1.bhtml"
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, "html.parser")
wb = openpyxl.Workbook()
ws = wb.active
tagiterator = soup.h2
row, col = 1, 1
ws.cell(row=row, column=col, value=tagiterator.getText())
tagiterator = tagiterator.find_next()
while tagiterator.find_next():
if tagiterator.name == 'h2':
row += 1
col = 1
ws.cell(row=row, column=col, value=tagiterator.getText(strip=True))
elif tagiterator.name == 'span':
col += 1
ws.cell(row=row, column=col, value=tagiterator.getText(strip=True))
tagiterator = tagiterator.find_next()
wb.save('DG3test.xlsx')`
它有效,但我想排除一些标签。我只想获得具有“产品名称”类的 h2 标签和具有“属性值”类的跨度标签。我试图通过以下方式做到这一点:
tagiterator['class'] == 'product-name'
tagiterator.hasClass('product-name')
tagiterator.get
还有一些也没有用。
在我创建的这张糟糕的图片中可以看到我想要的值:https://ibb.co/eWLsoQ 并且 url 在代码中。
【问题讨论】:
标签: html python-2.7 beautifulsoup