我正在从网站中提取财务数据,并希望稍后将其存储在数据框中以进行情绪分析。
问题:
- 当我使用 for 循环处理所有项目时,我无法
将其转换为文本,从而产生带有标签的数据。(对于单个项目,它有效) - 描述标签有
/n
开头和结尾。我怎样才能简单地删除它? - 需要解压网址。标签
"a" class="plcReadMore"
有我喜欢提取的 URL。问题-href
存在于标签中,例如 <a class="plcReadMore" href="/placera/telegram/2020/05/19/valueguard-bostadspriser-20-i-april-sasongsrensat-19.html">Läs hela >
用于提取 HTML 数据并将其放入数据框中进行进一步分析的 Python 代码:
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.avanza.se/placera/rutor/alla-foretagsartiklar.7.19888.a.html"
resp = requests.get(url)
soup = BeautifulSoup(resp.content, features="xml")
print(soup.prettify())
items = soup.findAll('div')
print(items)
# Checked single items and converted into text
print(items[0])
print(items[0].a.text)
print(items[0].p.text)
print(items[0].find("a", class_="plcReadMore"))
# Issue starts here when we process multiple items
list_items = []
for item in items:
list_item = {}
title_temp =
list_item['title'] = item.a
list_item['description'] = item.p
# list_item['URL']= item.find("a", {"class": "plcReadMore"})
list_item['URL'] = getattr(item.find("p", {"class": "plcReadMore"}), 'text', None)
list_items.append(list_item)
print(list_items[0])
df = pd.DataFrame(list_items, columns=['title', 'description', 'URL'])
df.head()
源 XML 代码:
<!-- Unable to get href from tag a under class "plcReadMore"-->
<?xml version="1.0" encoding="utf-8"?>
<ul class="cleanList plcTeaserList XSText">
<li class="active">
<div class="item">
<div class="cell">
<div class="expand">
<a class="title" href="#">
BOSTADSPRISER -2,0% I APRIL, SÄSONGSRENSAT -1,9%
</a>
<p class="shortIntro">
STOCKHOLM (Nyhetsbyrån Direkt) Bostadspriserna i Sverige sjönk 2,0 procent i april jämfört med föregående månad. Säsongsrensat sjönk priserna 1,9 procent.Det visar Valueguards HOX-index.Bostadspriserna har sjunkit 1,2 procent under den senaste tremån
</p>
</div>
<a class="plcReadMore" href="/placera/telegram/2020/05/19/valueguard-bostadspriser-20-i-april-sasongsrensat-19.html">
Läs hela
</a>
</div>
<div class="cell writerCol XXSText">
<div class="writer">
Direkt
</div>
</div>
<div class="cell dateCol XXSText">
Idag 06:00
</div>
</div>
</li>
<li>
<div class="item">
<div class="cell">
<div class="expand">
<a class="title" href="#">
Bonavas styrelseordförande köper 5 000 aktier
</a>
<p class="shortIntro">
Bostadsutvecklaren Bonavas styrelseordförande Mikael Norman har den 15 maj köpt 5 000B-aktier i bolaget. Aktierna köptes till kursen 38,92 kronor per aktie, en affär på 195 000 kronor. Affären gjordes på Nasdaq Stockholm. Det framgår av Finansinspekt
</p>
</div>
<!-- Here comes the issue -->
<a class="plcReadMore" href="/placera/telegram/2020/05/15/bonava-bonavas-styrelseordforande-koper-5-000-aktier.html">
Läs hela
</a>
</div>
<div class="cell writerCol XXSText">
<div class="writer">
Finwire
</div>
</div>
<div class="cell dateCol XXSText">
2020-05-15
</div>
</div>
</li>
<li>
<div class="item">
<div class="cell">
<div class="expand">
<a class="title" href="#">
Nordea mäklar post på 1,0 procent av aktierna i Bonava
</a>
<p class="shortIntro">
Nordea mäklade på fredagen en post på 1,06 miljoner B-aktier i bostadsutvecklaren Bonava inbördes till kursen 38,16 kronor per aktie. Affären är på 40,4 miljoner kronor och motsvarar 1,0 procent av aktierna i bolaget.
</p>
</div>
<a class="plcReadMore" href="/placera/telegram/2020/05/15/bonava-nordea-maklar-post-pa-10-procent-av-aktierna-i-bonava.html">
Läs hela
</a>
</div>
<div class="cell writerCol XXSText">
<div class="writer">
Finwire
</div>
</div>
<div class="cell dateCol XXSText">
2020-05-15
</div>
</div>
</li>
<li>
<div class="item">
<div class="cell">
<div class="expand">
<a class="title" href="#">
Bonavas vd har ökat med 10 000 aktier
</a>
<p class="shortIntro">
Bostadsutvecklaren Bonavas vd Joachim Hallengren har ökat innehavet med 10 000 aktier. Den totala köpesumman uppgår till 366 594 kronor med ett genomsnittspris på 36,66 kronor per aktie. Det framgår av Finansinspektionens insynsregister.
</p>
</div>
<a class="plcReadMore" href="/placera/telegram/2020/05/15/bonava-bonavas-vd-har-okat-med-10-000-aktier.html">
Läs hela
</a>
</div>
<div class="cell writerCol XXSText">
<div class="writer">
Finwire
</div>
</div>
<div class="cell dateCol XXSText">
2020-05-15
</div>
</div>
</li>
<li>
<div class="item">
<div class="cell">
<div class="expand">
<a class="title" href="#">
VD JOACHIM HALLENGREN KÖPT AKTIER FÖR 0,4 MLN KR (OMS)
</a>
<p class="shortIntro">
(Omsändning: skickades första gången på torsdagskvällen)STOCKHOLM (Nyhetsbyrån Direkt) Joachim Hallengren, som är vd för bostadsutvecklaren Bonava, har på torsdagen köpt 10.000 aktier i bolaget för en köpeskilling om närmare 0,4 miljoner kronor.Det f
</p>
</div>
<a class="plcReadMore" href="/placera/telegram/2020/05/15/bonava-vd-joachim-hallengren-kopt-aktier-for-04-mln-kr-oms.html">
Läs hela
</a>
</div>
<div class="cell writerCol XXSText">
<div class="writer">
Direkt
</div>
</div>
<div class="cell dateCol XXSText">
2020-05-15
</div>
</div>
</li>
<li>
<div class="item">
<div class="cell">
<div class="expand">
<a class="title" href="#">
VD JOACHIM HALLENGREN KÖPT AKTIER FÖR 0,4 MLN KR
</a>
<p class="shortIntro">
STOCKHOLM (Nyhetsbyrån Direkt) Joachim Hallengren, som är vd för bostadsutvecklaren Bonava, har på torsdagen köpt 10.000 aktier i bolaget för en köpeskilling om närmare 0,4 miljoner kronor.Det framgår av Finansinspektionens insynsrapportering. Köpet
</p>
</div>
<a class="plcReadMore" href="/placera/telegram/2020/05/14/bonava-vd-joachim-hallengren-kopt-aktier-for-04-mln-kr.html">
Läs hela
</a>
</div>
<div class="cell writerCol XXSText">
<div class="writer">
Direkt
</div>
</div>
<div class="cell dateCol XXSText">
2020-05-14
</div>
</div>
</li>
<li>
<div class="item">
<div class="cell">
<div class="expand">
<a class="title" href="#">
Aktierna som fått sänkta riktkurser
</a>
<p class="shortIntro">
<span class="bold plcVignette upperCase">
Börs:
</span>
141 aktier på börsen har fått se sina genomsnittliga riktkurser sänkas under de senaste sex månaderna. I fyra av aktierna har riktkurserna sänkts med över 50 procent.
</p>
</div>
<a class="plcReadMore" href="/placera/redaktionellt/2020/05/13/aktierna-som-fatt-sankta-riktkurser.html">
Läs hela
</a>
</div>
<div class="cell writerCol XXSText">
<div class="writer">
Karl Lans
</div>
</div>
<div class="cell dateCol XXSText">
2020-05-13
</div>
</div>
</li>
</ul>