23 KiB
23 KiB
In [17]:
from translate import get_untranslated
get_untranslated()Out [17]:
{'id': 108482,
'content': 'Chat, flirt, love!\ntilmeld dig GRATIS nu:\n\nhttps://t.co/5Vk2bxjdqm\n\n#Danmark #Århus #Odense #Copenhagen #Denmark https://t.co/3XbIv2jImj'}In [2]:
from translate import yield_untranslated
for val_dict in yield_untranslated():
print(val_dict){'id': 151028, 'content': 'Åbner i vinterferien: Nyt børnemuseum holder åbningsfest med Sigurd Barrett Odense: Har man nysgerrige børn med sa… https://t.co/wsy3JBodsw'}
{'id': 89329, 'content': 'Guitarkabinet, Marshall Jcm 900, 300 W, Lækkert..., 1.500 kr.,- i Odense V 5200 - https://t.co/UY0x8rTnKH https://t.co/aCOd9CmE80'}
{'id': 123474, 'content': 'ODEON søger kreativ bager https://t.co/NznIkPH6qc Job i Odense'}
{'id': 121074, 'content': 'Kommunikationsansvarlig for UngEnergi Odense (UngEnergi) https://t.co/wMnSJ9bifG Job i Odense'}
{'id': 49585, 'content': '37 Year Ago\n#LiverpoolFC #LFC #TheReds #Liverpool #BKOdense #BKO #TheStriped #Odense https://t.co/0wJxft6RCD'}
{'id': 112745, 'content': 'Regnskabschef med IT-ansvar https://t.co/2orZw0VdQA Job i Odense'}
{'id': 110761, 'content': 'Bugün 2-2 / 3-1 bitebilecek maçlar:\n\n1. Leipzig-Köln\n2-2 (14.60)\n3-1 (10.60)\n\n2. Man City 3-1 Arsenal\n3. Lyon 3-1St.Etienne (10.20)\n\n4. Kopenhag-Odense\n2-2 (12.50)\n3-1 (9.25) ⭐️\n\n5. Palace-Tottenham\n2-2 (16.00)\n1-3 (10.20) ⭐️'}
{'id': 130457, 'content': 'LÆKKER TAPAS MED LÆKKER DAME #myntejensen ❤️ @ Odense, Denmark https://t.co/TwCNXwmDLy'}
{'id': 53302, 'content': 'Elguitar, Jackson SL3X soloist, Sælger min..., 2.000 kr.,- i Odense C 5000 - https://t.co/P9FPoAMA5L https://t.co/WJ3Jolnj8j'}
{'id': 103309, 'content': 'Spillemyndigheden søger #akademisk medarbejder i #Odense. Læs mere på https://t.co/4Ac7RVXazo #jobdk #jobiOdense'}
{'id': 135454, 'content': 'lvl 4 Blastoise raid until 21:31:51 (58m 32s) near Østerbæksvej 83, Odense M. https://t.co/4qRn0maKUu'}
{'id': 146330, 'content': 'Guitarcombo, Two rock Coral, 22 W, Med celestion..., kr. 15.500,- i Odense C 5000 - https://t.co/ATCr7nVXXh https://t.co/Qiia2bDxlh'}
{'id': 115928, 'content': 'Demens i Odense Demens eller Alzheimers sygdom er en folkesygdom og den femte mest hyppige dødsårsag i Danmark.\nI takt med at antallet og andelen af ældre borgere stiger i Danmark og i Odense Kommune, stiger også ant… https://t.co/S0wFjnWN5c'}
{'id': 138345, 'content': 'Danmarks størreste #sex #dating portal:\n\nhttps://t.co/AnhrlR5efT\n\n#Danmark #Denmark\n#Roskilde #Odense #Copenhagen https://t.co/z39Jz41XGW'}
{'id': 88562, 'content': 'Job opening: Director, Centre on Population Dynamics (CPOP), University of Southern Denmark, Odense https://t.co/hMW0WMMgMa Deadline for applications: 20 December 2018'}
{'id': 118162, 'content': 'Dabbing 🙅🏼\u200d♂️ em Odense, Denmark https://t.co/J5RDVhLD7Z'}
{'id': 60766, 'content': 'Odense Kommune søger #teamleder, sundhed i #Odense. Læs mere på https://t.co/WU9UTz3LnF #jobdk #jobiOdense'}
{'id': 149516, 'content': 'Danmarks størreste #sex #dating portal:\n\nhttps://t.co/AnhrlR5efT\n\n#Danmark #Denmark\n#Roskilde #Odense #Copenhagen https://t.co/6IR7VqoeUp'}
{'id': 134039, 'content': '28-årig fra Odense dømt for drugrape af to kvinder https://t.co/XrJgnVTzt4'}
{'id': 63395, 'content': 'Inspiring and interesting talk\n #ecgbl2019 @odense about #seriousgames for girls @serenagame #diversity #gbl #gamedev @p_spangen https://t.co/EX7wYoQmBy'}
{'id': 123129, 'content': 'Klar i nyhedsstudiet med dagens fynske nyheder. God efterårsferie derude 😀 #tv2fyn #odense #tv #nyheder https://t.co/0cUPo15Q4n'}
{'id': 78825, 'content': 'Today all the houses in my street had smoke detectors installed. #bettersafethansorry #smokedetector #fire #safetyfirst #Odense #Denmark @ Odense, Denmark https://t.co/s8D5Ikd4D5'}
{'id': 18288, 'content': 'Highlights: SønderjyskE – Odense Bulldogs https://t.co/W0fPazU1Pr #Highlights #hockeymagasinetdk'}
{'id': 115120, 'content': 'Seniorskolen i Nørre Aaby klar til ny sæson Nr. Aaby: Seniorskolen, som holder til i Nr. Aaby Sognehus og mødes udvalgte onsdag klokken 14, er klar til en ny sæson.\n10. januar handler det om strejftog i Højskolesangbogen med leder af Odense Mot… … https://t.co/VSU5Je8Y4x'}
{'id': 125121, 'content': 'Odense Kommune søger #områdechef i #Odense. Læs mere på https://t.co/pe9H1SsO3Q #jobdk #jobiOdense'}
{'id': 84382, 'content': 'Someone from Odense, Denmark 🇩🇰 ordered this Military Watch Quartz Leather.\n\n 🛒 You too, you can get yours at ➡ https://t.co/JIt9HqnezT . https://t.co/8oHRnkw5Lm'}
{'id': 71585, 'content': '#zulucs Er først lige kommet på. Har I et par kommentarer til det såkaldte DM i esport i Odense i dag? Er det fedt for CS med DM? Hvad med forholdet mellem lange onlineturneringer og korte LANs? Er der overhovedet noget fest i et CS-DM? Og tillykke til Aab #hfesport'}
{'id': 125496, 'content': 'Soccer #Livescore: (DEN-3R) #FCAmager vs #Odense: 1-1. 2nd Half Started ...'}
Traceback (most recent call last):
File "/home/brian/projects/twitter_scraper/code/translate.py", line 32, in get_untranslated
df = pd.read_sql_query(query, dt.con)
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/pandas/io/sql.py", line 397, in read_sql_query
return pandas_sql.read_query(
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/pandas/io/sql.py", line 1560, in read_query
result = self.execute(*args)
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/pandas/io/sql.py", line 1405, in execute
return self.connectable.execution_options().execute(*args, **kwargs)
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1365, in execute
return self._exec_driver_sql(
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1669, in _exec_driver_sql
ret = self._execute_context(
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
self._handle_dbapi_exception(
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2128, in _handle_dbapi_exception
util.raise_(exc_info[1], with_traceback=exc_info[2])
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
raise exception
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
self.dialect.do_execute(
File "/home/brian/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python3.8/encodings/utf_8.py", line 15, in decode
def decode(input, errors='strict'):
KeyboardInterrupt
[0;31m---------------------------------------------------------------------------[0m [0;31mKeyboardInterrupt[0m Traceback (most recent call last) Cell [0;32mIn[2], line 3[0m [1;32m 1[0m [39mfrom[39;00m [39mtranslate[39;00m [39mimport[39;00m yield_untranslated [0;32m----> 3[0m [39mfor[39;00m val_dict [39min[39;00m yield_untranslated(): [1;32m 4[0m [39mprint[39m(val_dict) File [0;32m~/projects/twitter_scraper/code/translate.py:54[0m, in [0;36myield_untranslated[0;34m()[0m [1;32m 52[0m [39mwhile[39;00m val_dict [39mis[39;00m [39mnot[39;00m [39mNone[39;00m: [1;32m 53[0m [39myield[39;00m val_dict [0;32m---> 54[0m val_dict [39m=[39m get_untranslated() File [0;32m~/projects/twitter_scraper/code/translate.py:32[0m, in [0;36mget_untranslated[0;34m()[0m [1;32m 25[0m [39mwith[39;00m Data_table() [39mas[39;00m dt: [1;32m 26[0m query [39m=[39m ( [1;32m 27[0m [39mf[39m[39m'[39m[39mSELECT * FROM [39m[39m{[39;00mdt[39m.[39m_name[39m}[39;00m[39m [39m[39m'[39m [1;32m 28[0m [39m'[39m[39mWHERE content_en IS NULL [39m[39m'[39m [1;32m 29[0m [39m'[39m[39mORDER BY random() [39m[39m'[39m [1;32m 30[0m [39m'[39m[39mLIMIT 1 [39m[39m'[39m [1;32m 31[0m ) [0;32m---> 32[0m df [39m=[39m pd[39m.[39;49mread_sql_query(query, dt[39m.[39;49mcon) [1;32m 33[0m [39mif[39;00m [39mlen[39m(df)[39m==[39m[39m0[39m: [39mreturn[39;00m [39mNone[39;00m [1;32m 34[0m val_dict [39m=[39m { [1;32m 35[0m [39m'[39m[39mid[39m[39m'[39m: df[[39m'[39m[39mid[39m[39m'[39m][[39m0[39m], [1;32m 36[0m [39m'[39m[39mcontent[39m[39m'[39m: df[[39m'[39m[39mcontent[39m[39m'[39m][[39m0[39m] [1;32m 37[0m } File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/pandas/io/sql.py:397[0m, in [0;36mread_sql_query[0;34m(sql, con, index_col, coerce_float, params, parse_dates, chunksize, dtype)[0m [1;32m 339[0m [39m"""[39;00m [1;32m 340[0m [39mRead SQL query into a DataFrame.[39;00m [1;32m 341[0m [0;32m (...)[0m [1;32m 394[0m [39mparameter will be converted to UTC.[39;00m [1;32m 395[0m [39m"""[39;00m [1;32m 396[0m pandas_sql [39m=[39m pandasSQL_builder(con) [0;32m--> 397[0m [39mreturn[39;00m pandas_sql[39m.[39;49mread_query( [1;32m 398[0m sql, [1;32m 399[0m index_col[39m=[39;49mindex_col, [1;32m 400[0m params[39m=[39;49mparams, [1;32m 401[0m coerce_float[39m=[39;49mcoerce_float, [1;32m 402[0m parse_dates[39m=[39;49mparse_dates, [1;32m 403[0m chunksize[39m=[39;49mchunksize, [1;32m 404[0m dtype[39m=[39;49mdtype, [1;32m 405[0m ) File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/pandas/io/sql.py:1560[0m, in [0;36mSQLDatabase.read_query[0;34m(self, sql, index_col, coerce_float, parse_dates, params, chunksize, dtype)[0m [1;32m 1512[0m [39m"""[39;00m [1;32m 1513[0m [39mRead SQL query into a DataFrame.[39;00m [1;32m 1514[0m [0;32m (...)[0m [1;32m 1556[0m [1;32m 1557[0m [39m"""[39;00m [1;32m 1558[0m args [39m=[39m _convert_params(sql, params) [0;32m-> 1560[0m result [39m=[39m [39mself[39;49m[39m.[39;49mexecute([39m*[39;49margs) [1;32m 1561[0m columns [39m=[39m result[39m.[39mkeys() [1;32m 1563[0m [39mif[39;00m chunksize [39mis[39;00m [39mnot[39;00m [39mNone[39;00m: File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/pandas/io/sql.py:1405[0m, in [0;36mSQLDatabase.execute[0;34m(self, *args, **kwargs)[0m [1;32m 1403[0m [39mdef[39;00m [39mexecute[39m([39mself[39m, [39m*[39margs, [39m*[39m[39m*[39mkwargs): [1;32m 1404[0m [39m"""Simple passthrough to SQLAlchemy connectable"""[39;00m [0;32m-> 1405[0m [39mreturn[39;00m [39mself[39;49m[39m.[39;49mconnectable[39m.[39;49mexecution_options()[39m.[39;49mexecute([39m*[39;49margs, [39m*[39;49m[39m*[39;49mkwargs) File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py:1365[0m, in [0;36mConnection.execute[0;34m(self, statement, *multiparams, **params)[0m [1;32m 1356[0m [39mif[39;00m [39misinstance[39m(statement, util[39m.[39mstring_types): [1;32m 1357[0m util[39m.[39mwarn_deprecated_20( [1;32m 1358[0m [39m"[39m[39mPassing a string to Connection.execute() is [39m[39m"[39m [1;32m 1359[0m [39m"[39m[39mdeprecated and will be removed in version 2.0. Use the [39m[39m"[39m [0;32m (...)[0m [1;32m 1362[0m [39m"[39m[39mdriver-level SQL string.[39m[39m"[39m [1;32m 1363[0m ) [0;32m-> 1365[0m [39mreturn[39;00m [39mself[39;49m[39m.[39;49m_exec_driver_sql( [1;32m 1366[0m statement, [1;32m 1367[0m multiparams, [1;32m 1368[0m params, [1;32m 1369[0m _EMPTY_EXECUTION_OPTS, [1;32m 1370[0m future[39m=[39;49m[39mFalse[39;49;00m, [1;32m 1371[0m ) [1;32m 1373[0m [39mtry[39;00m: [1;32m 1374[0m meth [39m=[39m statement[39m.[39m_execute_on_connection File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py:1669[0m, in [0;36mConnection._exec_driver_sql[0;34m(self, statement, multiparams, params, execution_options, future)[0m [1;32m 1659[0m ( [1;32m 1660[0m statement, [1;32m 1661[0m distilled_params, [0;32m (...)[0m [1;32m 1665[0m statement, distilled_parameters, execution_options [1;32m 1666[0m ) [1;32m 1668[0m dialect [39m=[39m [39mself[39m[39m.[39mdialect [0;32m-> 1669[0m ret [39m=[39m [39mself[39;49m[39m.[39;49m_execute_context( [1;32m 1670[0m dialect, [1;32m 1671[0m dialect[39m.[39;49mexecution_ctx_cls[39m.[39;49m_init_statement, [1;32m 1672[0m statement, [1;32m 1673[0m distilled_parameters, [1;32m 1674[0m execution_options, [1;32m 1675[0m statement, [1;32m 1676[0m distilled_parameters, [1;32m 1677[0m ) [1;32m 1679[0m [39mif[39;00m [39mnot[39;00m future: [1;32m 1680[0m [39mif[39;00m [39mself[39m[39m.[39m_has_events [39mor[39;00m [39mself[39m[39m.[39mengine[39m.[39m_has_events: File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py:1943[0m, in [0;36mConnection._execute_context[0;34m(self, dialect, constructor, statement, parameters, execution_options, *args, **kw)[0m [1;32m 1940[0m branched[39m.[39mclose() [1;32m 1942[0m [39mexcept[39;00m [39mBaseException[39;00m [39mas[39;00m e: [0;32m-> 1943[0m [39mself[39;49m[39m.[39;49m_handle_dbapi_exception( [1;32m 1944[0m e, statement, parameters, cursor, context [1;32m 1945[0m ) [1;32m 1947[0m [39mreturn[39;00m result File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py:2128[0m, in [0;36mConnection._handle_dbapi_exception[0;34m(self, e, statement, parameters, cursor, context)[0m [1;32m 2124[0m util[39m.[39mraise_( [1;32m 2125[0m sqlalchemy_exception, with_traceback[39m=[39mexc_info[[39m2[39m], from_[39m=[39me [1;32m 2126[0m ) [1;32m 2127[0m [39melse[39;00m: [0;32m-> 2128[0m util[39m.[39;49mraise_(exc_info[[39m1[39;49m], with_traceback[39m=[39;49mexc_info[[39m2[39;49m]) [1;32m 2130[0m [39mfinally[39;00m: [1;32m 2131[0m [39mdel[39;00m [39mself[39m[39m.[39m_reentrant_error File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py:211[0m, in [0;36mraise_[0;34m(***failed resolving arguments***)[0m [1;32m 208[0m exception[39m.[39m__cause__ [39m=[39m replace_context [1;32m 210[0m [39mtry[39;00m: [0;32m--> 211[0m [39mraise[39;00m exception [1;32m 212[0m [39mfinally[39;00m: [1;32m 213[0m [39m# credit to[39;00m [1;32m 214[0m [39m# https://cosmicpercolator.com/2016/01/13/exception-leaks-in-python-2-and-3/[39;00m [1;32m 215[0m [39m# as the __traceback__ object creates a cycle[39;00m [1;32m 216[0m [39mdel[39;00m exception, replace_context, from_, with_traceback File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py:1900[0m, in [0;36mConnection._execute_context[0;34m(self, dialect, constructor, statement, parameters, execution_options, *args, **kw)[0m [1;32m 1898[0m [39mbreak[39;00m [1;32m 1899[0m [39mif[39;00m [39mnot[39;00m evt_handled: [0;32m-> 1900[0m [39mself[39;49m[39m.[39;49mdialect[39m.[39;49mdo_execute( [1;32m 1901[0m cursor, statement, parameters, context [1;32m 1902[0m ) [1;32m 1904[0m [39mif[39;00m [39mself[39m[39m.[39m_has_events [39mor[39;00m [39mself[39m[39m.[39mengine[39m.[39m_has_events: [1;32m 1905[0m [39mself[39m[39m.[39mdispatch[39m.[39mafter_cursor_execute( [1;32m 1906[0m [39mself[39m, [1;32m 1907[0m cursor, [0;32m (...)[0m [1;32m 1911[0m context[39m.[39mexecutemany, [1;32m 1912[0m ) File [0;32m~/projects/twitter_scraper/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py:736[0m, in [0;36mDefaultDialect.do_execute[0;34m(self, cursor, statement, parameters, context)[0m [1;32m 735[0m [39mdef[39;00m [39mdo_execute[39m([39mself[39m, cursor, statement, parameters, context[39m=[39m[39mNone[39;00m): [0;32m--> 736[0m cursor[39m.[39;49mexecute(statement, parameters) File [0;32m/usr/lib/python3.8/encodings/utf_8.py:15[0m, in [0;36mdecode[0;34m(input, errors)[0m [1;32m 11[0m [39m### Codec APIs[39;00m [1;32m 13[0m encode [39m=[39m codecs[39m.[39mutf_8_encode [0;32m---> 15[0m [39mdef[39;00m [39mdecode[39m([39minput[39m, errors[39m=[39m[39m'[39m[39mstrict[39m[39m'[39m): [1;32m 16[0m [39mreturn[39;00m codecs[39m.[39mutf_8_decode([39minput[39m, errors, [39mTrue[39;00m) [1;32m 18[0m [39mclass[39;00m [39mIncrementalEncoder[39;00m(codecs[39m.[39mIncrementalEncoder): [0;31mKeyboardInterrupt[0m:
In [ ]: