我正在尝试解析网页以获取股票的简要概述。从seekalpha,HTML看起来像这样:
<div class="company_description_mini_text">
<span style='white-space: pre-line;'>Provectus Biopharmaceuticals Inc is a development-stage pharmaceutical company. It develops, licenses, and sells pharmaceutical products for oncology and dermatology indications.</span>
</div>
对于我的代码,我有这个:
getSummary = soup1.find_all('div', class_='company_description_mini_text')
print getSummary[0].text[100]
但是,返回的只是字母&#39; e。从形式开始,列表中只有一个元素。如果有人能告诉我哪里出错了,我们将不胜感激。
答案 0 :(得分:2)
text
返回一个字符串,索引到该字符串会给你一个单独的字符; e
是文本索引100处的字符;你可以得到其他个别角色,或者使用切片:
>>> getSummary[0].text
u'\nProvectus Biopharmaceuticals Inc is a development-stage pharmaceutical company. It develops, licenses, and sells pharmaceutical products for oncology and dermatology indications.\n'
>>> getSummary[0].text[100]
u'e'
>>> getSummary[0].text[0]
u'\n'
>>> getSummary[0].text[:20]
u'\nProvectus Biopharma'
答案 1 :(得分:0)
如果您正在抓取的<div class="company_description_mini_text">
只有html
,则无需使用find_all()
。您可以使用find()
方法。
getSummary = soup.find('div', attrs={'class': "company_description_mini_text"})
此处getSummary
是Tag
类型对象。你可以直接在其上申请.text
。等,
print getSummary.text
现在getSummary.text
会返回unicode
个对象。如果你打印getSummary.text
[100]
然后它会给你字符串的100th
值。