import pandas as pd
from ddbapi import zp_issues, zp_pages, list_column, filter
df = zp_pages(
publication_date='[1850-01-01T12:00:00Z TO 1900-12-31T12:00:00Z]',
place_of_distribution='Berlin',
plainpagefulltext=["Sansibar", "Wilhelm"]
)
df
https://api.deutsche-digitale-bibliothek.de/search/index/newspaper-issues/select?rows=1000&sort=id+ASC&q=type%3Apage+AND+publication_date%3A%22%5B1850-01-01T12%3A00%3A00Z%5C+TO%5C+1900-12-31T12%3A00%3A00Z%5D%22+AND+place_of_distribution%3A%22Berlin%22+AND+%28plainpagefulltext%3ASansibar+AND+plainpagefulltext%3AWilhelm%29&cursorMark=%2A
Getting 1000 of 1072
Getting 1072 of 1072
Got 1072 items.
df.to_excel('newspaper.xlsx', index=False)
df.to_csv('newspaper.csv', sep=';', index=False)
df['zdb_id'].value_counts().reset_index()
# Monday = 0, Sunday = 6
df[df['publication_date'].dt.dayofweek == 6]
df.iloc[1067]['plainpagefulltext'].split()
df.query('plainpagefulltext.str.contains("\WMarine\W") and plainpagefulltext.str.contains("\WMehrheit\W")', engine='python')
for np in df['paper_title'].unique():
print('Frühste Ausgabe der ' + np + ": " + str(df.query('paper_title == @np')['publication_date'].min()))
Frühste Ausgabe der Berliner Tageblatt und Handels-Zeitung, Morgen-Ausgabe: 1884-04-20 12:00:00
Frühste Ausgabe der Norddeutsche allgemeine Zeitung, Morgen-Ausgabe: 1880-12-28 12:00:00
Frühste Ausgabe der Norddeutsche allgemeine Zeitung: 1897-04-03 12:00:00
Frühste Ausgabe der Norddeutsche allgemeine Zeitung, Abend-Ausgabe: 1885-04-16 12:00:00
Frühste Ausgabe der Berliner Volksblatt : Organ für die Interessen der Arbeiter, Tagesausgabe: 1885-06-07 12:00:00
Frühste Ausgabe der Berliner Börsen-Zeitung, Morgen-Ausgabe: 1876-05-12 12:00:00
Frühste Ausgabe der Vorwärts : Berliner Volksblatt ; das Abendblatt der Hauptstadt Deutschlands: 1891-05-23 12:00:00
Frühste Ausgabe der Berliner Tageblatt und Handels-Zeitung, Abend-Ausgabe: 1880-04-13 12:00:00
Frühste Ausgabe der Berliner Börsen-Zeitung, Abend-Ausgabe: 1891-09-28 12:00:00
Frühste Ausgabe der Norddeutsche allgemeine Zeitung, Zweite (Morgen-)Ausgabe: 1899-01-01 12:00:00
Frühste Ausgabe der Berliner Tageblatt und Handels-Zeitung: 1897-05-23 12:00:00
Frühste Ausgabe der Berliner Volks-Tribüne : social-politisches Wochenblatt, Wochenausgabe: 1888-07-14 12:00:00
df['paper_title'].value_counts().nlargest(10).plot(kind="barh")
df.query('paper_title.str.contains("ausgabe")', engine="python")
df.query('provider == "Bibliothek der Friedrich-Ebert-Stiftung"')
list_column(df['place_of_distribution']).value_counts()
merged_fulltext = ''
for p in df['plainpagefulltext']:
merged_fulltext += p
def count_word_frequency(str):
counts = dict()
words = str.split()
for word in words:
if word.lower() in counts:
counts[word.lower()] += 1
else:
counts[word.lower()] = 1
counts = dict(sorted(counts.items(), key=lambda x: x[1], reverse=True))
return counts
word_count = count_word_frequency(merged_fulltext)
word_count
word_count['bismarck']
df['publication_date'].value_counts().plot(figsize=(20,10), ylabel="Count", xlabel="Year")