{ "cells": [ { "cell_type": "markdown", "id": "b3505281", "metadata": {}, "source": [ "### Parsing X data\n", "\n", "This example is to help illustrate the structure of the response data\n", "\n", "**Notes**:\n", "- The code is extremely slow due to constant calls to `.apply()`\n", "- The GraphQL response data is not consistent, the following examples may not work in all cases." ] }, { "cell_type": "code", "execution_count": 1, "id": "411feb89", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from twitter.scraper import Scraper\n", "\n", "scraper = Scraper(\n", " cookies={\n", " 'auth_token':...,\n", " 'ct0':...,\n", " }\n", ")\n" ] }, { "cell_type": "markdown", "id": "e6f3ab15", "metadata": {}, "source": [ "### Likes" ] }, { "cell_type": "code", "execution_count": 2, "id": "5e8b7adb", "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Likes: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:02<00:00, 2.40s/it]\n", "/tmp/ipykernel_11828/237363432.py:20: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", " .assign(created_at=lambda x:pd.to_datetime(x['created_at']))\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
user_id_strid_strcreated_atbookmark_countfavorite_countfull_textpossibly_sensitivequote_countreply_countretweet_count
0137695187235602432517763200044655823312024-04-05 18:44:26+00:00248338Schedule-Free Learning\\nhttps://t.co/HEl6dOcT2...False101356
1327890640117762714593522280622024-04-05 15:31:32+00:00474We’ve teamed up with PayPal to offer MetaMask ...NaN063
2455831492717762327143638715862024-04-05 12:57:34+00:0029309I like to think of myself as a researcher, but...NaN277
31323583217760808840197001082024-04-05 02:54:15+00:0040932Someone should make a leaderboard for how freq...NaN114758
4170311784893009920017760415617108378332024-04-05 00:18:00+00:0093311\"Young woman with blonde hair wearing a backpa...NaN84011
.................................
1123479236917408804127953797852023-12-29 23:40:09+00:0010377Dive into the best of 2023 with Porch Potty on...False11399
113232952671417399587542196310312023-12-27 10:37:48+00:00107820857What happened in 1970? \\n\\nNixon signed the 19...False3577397573
114577871216994467038570455402023-09-06 15:37:23+00:00135784another way of thinking about this — much of m...False144634
1151857077216420441213419192322023-04-01 06:00:00+00:0058011854As Beyoncé once said, “If you like it, then yo...NaN1237772321
1162987366213836162746939514942021-04-18 03:00:00+00:0026467730Never. Ever. Buy a tech product based on the p...NaN51314354066
\n", "

117 rows × 10 columns

\n", "
" ], "text/plain": [ " user_id_str id_str created_at \\\n", "0 1376951872356024325 1776320004465582331 2024-04-05 18:44:26+00:00 \n", "1 3278906401 1776271459352228062 2024-04-05 15:31:32+00:00 \n", "2 4558314927 1776232714363871586 2024-04-05 12:57:34+00:00 \n", "3 13235832 1776080884019700108 2024-04-05 02:54:15+00:00 \n", "4 1703117848930099200 1776041561710837833 2024-04-05 00:18:00+00:00 \n", ".. ... ... ... \n", "112 34792369 1740880412795379785 2023-12-29 23:40:09+00:00 \n", "113 2329526714 1739958754219631031 2023-12-27 10:37:48+00:00 \n", "114 5778712 1699446703857045540 2023-09-06 15:37:23+00:00 \n", "115 18570772 1642044121341919232 2023-04-01 06:00:00+00:00 \n", "116 29873662 1383616274693951494 2021-04-18 03:00:00+00:00 \n", "\n", " bookmark_count favorite_count \\\n", "0 248 338 \n", "1 4 74 \n", "2 29 309 \n", "3 40 932 \n", "4 93 311 \n", ".. ... ... \n", "112 10 377 \n", "113 1078 20857 \n", "114 135 784 \n", "115 580 11854 \n", "116 264 67730 \n", "\n", " full_text possibly_sensitive \\\n", "0 Schedule-Free Learning\\nhttps://t.co/HEl6dOcT2... False \n", "1 We’ve teamed up with PayPal to offer MetaMask ... NaN \n", "2 I like to think of myself as a researcher, but... NaN \n", "3 Someone should make a leaderboard for how freq... NaN \n", "4 \"Young woman with blonde hair wearing a backpa... NaN \n", ".. ... ... \n", "112 Dive into the best of 2023 with Porch Potty on... False \n", "113 What happened in 1970? \\n\\nNixon signed the 19... False \n", "114 another way of thinking about this — much of m... False \n", "115 As Beyoncé once said, “If you like it, then yo... NaN \n", "116 Never. Ever. Buy a tech product based on the p... NaN \n", "\n", " quote_count reply_count retweet_count \n", "0 10 13 56 \n", "1 0 6 3 \n", "2 2 7 7 \n", "3 11 47 58 \n", "4 8 40 11 \n", ".. ... ... ... \n", "112 1 13 99 \n", "113 357 739 7573 \n", "114 14 46 34 \n", "115 123 777 2321 \n", "116 513 1435 4066 \n", "\n", "[117 rows x 10 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "likes = scraper.likes([33836629],count=100,limit=100)\n", "\n", "df_likes = (\n", " pd.json_normalize(likes, record_path=['data','user','result','timeline_v2','timeline','instructions'])\n", " ['entries']\n", " .explode()\n", " .apply(pd.Series)\n", " ['content']\n", " .apply(pd.Series)\n", " .pipe(lambda df:df[df['__typename']!='TimelineTimelineCursor'])\n", " ['itemContent']\n", " .apply(pd.Series)\n", " ['tweet_results']\n", " .apply(pd.Series)\n", " ['result']\n", " .apply(pd.Series)\n", " .pipe(lambda df:df[df['__typename']!='TweetWithVisibilityResults'])\n", " ['legacy']\n", " .apply(pd.Series)\n", " .assign(created_at=lambda x:pd.to_datetime(x['created_at']))\n", " .sort_values('created_at', ascending=False)\n", " .reset_index(drop=True)\n", " [[\n", " 'user_id_str',\n", " 'id_str',\n", " 'created_at',\n", " 'bookmark_count',\n", " 'favorite_count',\n", " 'full_text',\n", " 'possibly_sensitive',\n", " 'quote_count',\n", " 'reply_count',\n", " 'retweet_count'\n", " ]]\n", ")\n", "df_likes\n", "\n" ] }, { "cell_type": "markdown", "id": "57dc49fa", "metadata": {}, "source": [ "### Tweet Details" ] }, { "cell_type": "code", "execution_count": 3, "id": "b8abf4e7", "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "TweetDetail: 100%|██████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:04<00:00, 4.06s/it]\n", "/tmp/ipykernel_11828/4204966796.py:28: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", " .assign(created_at=lambda x:pd.to_datetime(x['created_at']))\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
created_atid_struser_id_strfull_textfavorite_counturlshashtagsuser_mentions
02024-04-05 16:27:24+00:001776285521603363107307810043Integrate Advanced Image and Video Customizati...0[][{'indices': [105, 112], 'text': 'nodejs'}, {'...[]
12024-04-05 16:27:24+00:001776285521569865904307810043Integrate Advanced Image and Video Customizati...0[][{'indices': [105, 112], 'text': 'nodejs'}, {'...[]
22024-04-05 16:27:24+00:001776285521569865904307810043Integrate Advanced Image and Video Customizati...0[][{'indices': [105, 112], 'text': 'nodejs'}, {'...[]
32024-04-05 16:27:24+00:001776285521603363107307810043Integrate Advanced Image and Video Customizati...0[][{'indices': [105, 112], 'text': 'nodejs'}, {'...[]
42024-04-04 18:39:56+00:0017759564853248493191594005431164321793Embark on a magical morning adventure with eve...85[][][]
52024-04-01 17:24:10+00:0017748502544684362771773621435199586304@karpathy @__tinygrad__ @realGeorgeHotz Recent...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
62024-04-01 02:46:28+00:0017746293751215391261371119512313950210@karpathy @__tinygrad__ @realGeorgeHotz yeah I...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
72024-03-31 00:20:12+00:0017742301752381974561316295394146410497@karpathy @__tinygrad__ @realGeorgeHotz Colab ...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
82024-03-29 23:47:06+00:001773859460139855938911238967030403073@karpathy @__tinygrad__ @realGeorgeHotz I was ...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
92024-03-29 01:23:42+00:0017735213821877170671231466530375970816@karpathy @__tinygrad__ @realGeorgeHotz 👀0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
102024-03-25 13:33:50+00:0017722555740061533651635022673167122433@karpathy @__tinygrad__ @realGeorgeHotz Hi! I ...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
112024-03-24 13:01:04+00:00177188494251705969116598957@karpathy @__tinygrad__ @realGeorgeHotz What’s...3[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
122024-03-21 16:41:59+00:0017708533705777358633236488643@karpathy @__tinygrad__ @realGeorgeHotz Now th...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
132024-03-21 10:31:30+00:001770760137063494060120717378@karpathy @__tinygrad__ @realGeorgeHotz It wou...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
142024-03-20 20:47:15+00:0017705527071973133911478897931876921345@karpathy @__tinygrad__ @realGeorgeHotz Geohot...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
152024-03-20 15:29:54+00:0017704728425612780551745002150818639872@karpathy @__tinygrad__ @realGeorgeHotz cancel...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
162024-03-20 15:13:00+00:0017704685902541703381728044152389079040@karpathy @__tinygrad__ @realGeorgeHotz All I ...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
172024-03-20 13:42:26+00:0017704458008264049951435107115@karpathy @__tinygrad__ @realGeorgeHotz Maybe ...3[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
182024-03-20 12:01:00+00:001770420272707056005228920764@karpathy @__tinygrad__ @realGeorgeHotz Is Gho...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
192024-03-20 11:48:41+00:0017704171749825825191698500379086872576@karpathy @__tinygrad__ @realGeorgeHotz I wond...1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
202024-03-20 07:46:32+00:0017703562323958911201324369511710154754@karpathy @__tinygrad__ @realGeorgeHotz Andrej...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
212024-03-20 07:41:46+00:0017703550356726624901203777178124591104@karpathy @__tinygrad__ @realGeorgeHotz go geo...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
222024-03-20 05:04:40+00:0017703154997772125773062411848@karpathy @__tinygrad__ @realGeorgeHotz make a...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
232024-03-20 04:21:56+00:00177030474427338369089958280@karpathy @__tinygrad__ @realGeorgeHotz @readw...1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
242024-03-20 03:27:07+00:0017702909478860680101245941997497704450@karpathy @__tinygrad__ @realGeorgeHotz based ...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
252024-03-20 03:11:18+00:0017702869702598330041610077781945159681@karpathy @__tinygrad__ @realGeorgeHotz he's a...1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
262024-03-20 02:49:20+00:00177028144098850854482467998@karpathy @__tinygrad__ @realGeorgeHotz @abaca...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
272024-03-20 02:38:31+00:0017702787199421687121724580443004215296@karpathy @__tinygrad__ @realGeorgeHotz I love...1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
282024-03-20 00:41:02+00:0017702491550315479251765646589794607104@karpathy @__tinygrad__ @realGeorgeHotz I now ...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
292024-03-20 00:01:19+00:001770239159703122342246453725@karpathy @__tinygrad__ @realGeorgeHotz woo An...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
302024-03-19 21:45:05+00:001770204873331470581269968418@karpathy @__tinygrad__ @realGeorgeHotz 🙏0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
312024-03-19 20:42:21+00:0017701890883955388801263378123808075776@karpathy @__tinygrad__ @realGeorgeHotz Would ...4[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
322024-03-19 20:28:11+00:0017701855225660706721051571484466900992@karpathy @__tinygrad__ @realGeorgeHotz mainst...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
332024-03-19 20:14:52+00:0017701821690984163531283700032512770048@karpathy @__tinygrad__ @realGeorgeHotz He mak...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
342024-03-19 19:38:05+00:0017701729126553397331195245650746626048@karpathy @__tinygrad__ @realGeorgeHotz karpat...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
352024-03-19 19:33:41+00:0017701718046166428891187420166373687297@karpathy @__tinygrad__ @realGeorgeHotz Noted0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
362024-03-19 19:30:45+00:0017701710668343873611512519426679218185@karpathy @__tinygrad__ @realGeorgeHotz Nothin...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
372024-03-19 19:18:12+00:0017701679088589947961290932959084675073@karpathy @__tinygrad__ @realGeorgeHotz A true...2[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
382024-03-19 19:17:56+00:00177016784370472167623503850@karpathy @__tinygrad__ @realGeorgeHotz watchi...17[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
392024-03-19 19:17:24+00:001770167709470241108996745767384698885@karpathy @__tinygrad__ @realGeorgeHotz Andrej...2[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
402024-03-19 19:14:55+00:0017701670848292990801689409906594463744@karpathy @__tinygrad__ @realGeorgeHotz image ...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
412024-03-19 19:14:09+00:0017701668901171530881041076799386648576@karpathy @__tinygrad__ @realGeorgeHotz Taps s...0[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
422024-03-19 19:13:43+00:0017701667812332668254483798048@karpathy @__tinygrad__ @realGeorgeHotz Andrej...12[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
432024-03-19 19:13:17+00:00177016667306605819533836629@hiberfile_sys @__tinygrad__ @realGeorgeHotz l...170[][][{'id_str': '7780132', 'name': 'Charles Smith'...
442024-03-19 19:11:28+00:0017701662166083217447780132@karpathy @__tinygrad__ @realGeorgeHotz I was ...80[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
452024-03-19 19:11:01+00:0017701661006484236191488855033479376902@karpathy @__tinygrad__ @realGeorgeHotz that’s...1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
462024-03-19 19:09:56+00:0017701658301955484521963466798@karpathy @__tinygrad__ @realGeorgeHotz I coul...122[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
472024-03-19 19:08:25+00:0017701654473604510431017486609707667456@karpathy @__tinygrad__ @realGeorgeHotz this b...10[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
482024-03-19 19:08:12+00:0017701653942857241121674187388825006082@karpathy @realGeorgeHotz Thanks!\\n\\nYea it's ...288[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
492024-03-19 19:07:06+00:0017701651180614082806470462@karpathy @__tinygrad__ @realGeorgeHotz You sh...22[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
502024-03-19 19:06:54+00:0017701650651587179461308474693339447296@karpathy @__tinygrad__ @realGeorgeHotz geohot...72[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
512024-03-19 19:06:18+00:0017701649157786052651518031440302284802@karpathy @__tinygrad__ @realGeorgeHotz Has an...1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
522024-03-19 19:06:06+00:0017701648642179485251695180583695949824@karpathy @__tinygrad__ @realGeorgeHotz Who’s ...1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
532024-03-19 19:04:54+00:00177016456193027300924418897@karpathy @__tinygrad__ @realGeorgeHotz 👀1[][][{'id_str': '33836629', 'name': 'Andrej Karpat...
\n", "
" ], "text/plain": [ " created_at id_str user_id_str \\\n", "0 2024-04-05 16:27:24+00:00 1776285521603363107 307810043 \n", "1 2024-04-05 16:27:24+00:00 1776285521569865904 307810043 \n", "2 2024-04-05 16:27:24+00:00 1776285521569865904 307810043 \n", "3 2024-04-05 16:27:24+00:00 1776285521603363107 307810043 \n", "4 2024-04-04 18:39:56+00:00 1775956485324849319 1594005431164321793 \n", "5 2024-04-01 17:24:10+00:00 1774850254468436277 1773621435199586304 \n", "6 2024-04-01 02:46:28+00:00 1774629375121539126 1371119512313950210 \n", "7 2024-03-31 00:20:12+00:00 1774230175238197456 1316295394146410497 \n", "8 2024-03-29 23:47:06+00:00 1773859460139855938 911238967030403073 \n", "9 2024-03-29 01:23:42+00:00 1773521382187717067 1231466530375970816 \n", "10 2024-03-25 13:33:50+00:00 1772255574006153365 1635022673167122433 \n", "11 2024-03-24 13:01:04+00:00 1771884942517059691 16598957 \n", "12 2024-03-21 16:41:59+00:00 1770853370577735863 3236488643 \n", "13 2024-03-21 10:31:30+00:00 1770760137063494060 120717378 \n", "14 2024-03-20 20:47:15+00:00 1770552707197313391 1478897931876921345 \n", "15 2024-03-20 15:29:54+00:00 1770472842561278055 1745002150818639872 \n", "16 2024-03-20 15:13:00+00:00 1770468590254170338 1728044152389079040 \n", "17 2024-03-20 13:42:26+00:00 1770445800826404995 1435107115 \n", "18 2024-03-20 12:01:00+00:00 1770420272707056005 228920764 \n", "19 2024-03-20 11:48:41+00:00 1770417174982582519 1698500379086872576 \n", "20 2024-03-20 07:46:32+00:00 1770356232395891120 1324369511710154754 \n", "21 2024-03-20 07:41:46+00:00 1770355035672662490 1203777178124591104 \n", "22 2024-03-20 05:04:40+00:00 1770315499777212577 3062411848 \n", "23 2024-03-20 04:21:56+00:00 1770304744273383690 89958280 \n", "24 2024-03-20 03:27:07+00:00 1770290947886068010 1245941997497704450 \n", "25 2024-03-20 03:11:18+00:00 1770286970259833004 1610077781945159681 \n", "26 2024-03-20 02:49:20+00:00 1770281440988508544 82467998 \n", "27 2024-03-20 02:38:31+00:00 1770278719942168712 1724580443004215296 \n", "28 2024-03-20 00:41:02+00:00 1770249155031547925 1765646589794607104 \n", "29 2024-03-20 00:01:19+00:00 1770239159703122342 246453725 \n", "30 2024-03-19 21:45:05+00:00 1770204873331470581 269968418 \n", "31 2024-03-19 20:42:21+00:00 1770189088395538880 1263378123808075776 \n", "32 2024-03-19 20:28:11+00:00 1770185522566070672 1051571484466900992 \n", "33 2024-03-19 20:14:52+00:00 1770182169098416353 1283700032512770048 \n", "34 2024-03-19 19:38:05+00:00 1770172912655339733 1195245650746626048 \n", "35 2024-03-19 19:33:41+00:00 1770171804616642889 1187420166373687297 \n", "36 2024-03-19 19:30:45+00:00 1770171066834387361 1512519426679218185 \n", "37 2024-03-19 19:18:12+00:00 1770167908858994796 1290932959084675073 \n", "38 2024-03-19 19:17:56+00:00 1770167843704721676 23503850 \n", "39 2024-03-19 19:17:24+00:00 1770167709470241108 996745767384698885 \n", "40 2024-03-19 19:14:55+00:00 1770167084829299080 1689409906594463744 \n", "41 2024-03-19 19:14:09+00:00 1770166890117153088 1041076799386648576 \n", "42 2024-03-19 19:13:43+00:00 1770166781233266825 4483798048 \n", "43 2024-03-19 19:13:17+00:00 1770166673066058195 33836629 \n", "44 2024-03-19 19:11:28+00:00 1770166216608321744 7780132 \n", "45 2024-03-19 19:11:01+00:00 1770166100648423619 1488855033479376902 \n", "46 2024-03-19 19:09:56+00:00 1770165830195548452 1963466798 \n", "47 2024-03-19 19:08:25+00:00 1770165447360451043 1017486609707667456 \n", "48 2024-03-19 19:08:12+00:00 1770165394285724112 1674187388825006082 \n", "49 2024-03-19 19:07:06+00:00 1770165118061408280 6470462 \n", "50 2024-03-19 19:06:54+00:00 1770165065158717946 1308474693339447296 \n", "51 2024-03-19 19:06:18+00:00 1770164915778605265 1518031440302284802 \n", "52 2024-03-19 19:06:06+00:00 1770164864217948525 1695180583695949824 \n", "53 2024-03-19 19:04:54+00:00 1770164561930273009 24418897 \n", "\n", " full_text favorite_count urls \\\n", "0 Integrate Advanced Image and Video Customizati... 0 [] \n", "1 Integrate Advanced Image and Video Customizati... 0 [] \n", "2 Integrate Advanced Image and Video Customizati... 0 [] \n", "3 Integrate Advanced Image and Video Customizati... 0 [] \n", "4 Embark on a magical morning adventure with eve... 85 [] \n", "5 @karpathy @__tinygrad__ @realGeorgeHotz Recent... 0 [] \n", "6 @karpathy @__tinygrad__ @realGeorgeHotz yeah I... 0 [] \n", "7 @karpathy @__tinygrad__ @realGeorgeHotz Colab ... 0 [] \n", "8 @karpathy @__tinygrad__ @realGeorgeHotz I was ... 0 [] \n", "9 @karpathy @__tinygrad__ @realGeorgeHotz 👀 0 [] \n", "10 @karpathy @__tinygrad__ @realGeorgeHotz Hi! I ... 0 [] \n", "11 @karpathy @__tinygrad__ @realGeorgeHotz What’s... 3 [] \n", "12 @karpathy @__tinygrad__ @realGeorgeHotz Now th... 0 [] \n", "13 @karpathy @__tinygrad__ @realGeorgeHotz It wou... 0 [] \n", "14 @karpathy @__tinygrad__ @realGeorgeHotz Geohot... 0 [] \n", "15 @karpathy @__tinygrad__ @realGeorgeHotz cancel... 0 [] \n", "16 @karpathy @__tinygrad__ @realGeorgeHotz All I ... 0 [] \n", "17 @karpathy @__tinygrad__ @realGeorgeHotz Maybe ... 3 [] \n", "18 @karpathy @__tinygrad__ @realGeorgeHotz Is Gho... 0 [] \n", "19 @karpathy @__tinygrad__ @realGeorgeHotz I wond... 1 [] \n", "20 @karpathy @__tinygrad__ @realGeorgeHotz Andrej... 0 [] \n", "21 @karpathy @__tinygrad__ @realGeorgeHotz go geo... 0 [] \n", "22 @karpathy @__tinygrad__ @realGeorgeHotz make a... 0 [] \n", "23 @karpathy @__tinygrad__ @realGeorgeHotz @readw... 1 [] \n", "24 @karpathy @__tinygrad__ @realGeorgeHotz based ... 0 [] \n", "25 @karpathy @__tinygrad__ @realGeorgeHotz he's a... 1 [] \n", "26 @karpathy @__tinygrad__ @realGeorgeHotz @abaca... 0 [] \n", "27 @karpathy @__tinygrad__ @realGeorgeHotz I love... 1 [] \n", "28 @karpathy @__tinygrad__ @realGeorgeHotz I now ... 0 [] \n", "29 @karpathy @__tinygrad__ @realGeorgeHotz woo An... 0 [] \n", "30 @karpathy @__tinygrad__ @realGeorgeHotz 🙏 0 [] \n", "31 @karpathy @__tinygrad__ @realGeorgeHotz Would ... 4 [] \n", "32 @karpathy @__tinygrad__ @realGeorgeHotz mainst... 0 [] \n", "33 @karpathy @__tinygrad__ @realGeorgeHotz He mak... 0 [] \n", "34 @karpathy @__tinygrad__ @realGeorgeHotz karpat... 0 [] \n", "35 @karpathy @__tinygrad__ @realGeorgeHotz Noted 0 [] \n", "36 @karpathy @__tinygrad__ @realGeorgeHotz Nothin... 0 [] \n", "37 @karpathy @__tinygrad__ @realGeorgeHotz A true... 2 [] \n", "38 @karpathy @__tinygrad__ @realGeorgeHotz watchi... 17 [] \n", "39 @karpathy @__tinygrad__ @realGeorgeHotz Andrej... 2 [] \n", "40 @karpathy @__tinygrad__ @realGeorgeHotz image ... 0 [] \n", "41 @karpathy @__tinygrad__ @realGeorgeHotz Taps s... 0 [] \n", "42 @karpathy @__tinygrad__ @realGeorgeHotz Andrej... 12 [] \n", "43 @hiberfile_sys @__tinygrad__ @realGeorgeHotz l... 170 [] \n", "44 @karpathy @__tinygrad__ @realGeorgeHotz I was ... 80 [] \n", "45 @karpathy @__tinygrad__ @realGeorgeHotz that’s... 1 [] \n", "46 @karpathy @__tinygrad__ @realGeorgeHotz I coul... 122 [] \n", "47 @karpathy @__tinygrad__ @realGeorgeHotz this b... 10 [] \n", "48 @karpathy @realGeorgeHotz Thanks!\\n\\nYea it's ... 288 [] \n", "49 @karpathy @__tinygrad__ @realGeorgeHotz You sh... 22 [] \n", "50 @karpathy @__tinygrad__ @realGeorgeHotz geohot... 72 [] \n", "51 @karpathy @__tinygrad__ @realGeorgeHotz Has an... 1 [] \n", "52 @karpathy @__tinygrad__ @realGeorgeHotz Who’s ... 1 [] \n", "53 @karpathy @__tinygrad__ @realGeorgeHotz 👀 1 [] \n", "\n", " hashtags \\\n", "0 [{'indices': [105, 112], 'text': 'nodejs'}, {'... \n", "1 [{'indices': [105, 112], 'text': 'nodejs'}, {'... \n", "2 [{'indices': [105, 112], 'text': 'nodejs'}, {'... \n", "3 [{'indices': [105, 112], 'text': 'nodejs'}, {'... \n", "4 [] \n", "5 [] \n", "6 [] \n", "7 [] \n", "8 [] \n", "9 [] \n", "10 [] \n", "11 [] \n", "12 [] \n", "13 [] \n", "14 [] \n", "15 [] \n", "16 [] \n", "17 [] \n", "18 [] \n", "19 [] \n", "20 [] \n", "21 [] \n", "22 [] \n", "23 [] \n", "24 [] \n", "25 [] \n", "26 [] \n", "27 [] \n", "28 [] \n", "29 [] \n", "30 [] \n", "31 [] \n", "32 [] \n", "33 [] \n", "34 [] \n", "35 [] \n", "36 [] \n", "37 [] \n", "38 [] \n", "39 [] \n", "40 [] \n", "41 [] \n", "42 [] \n", "43 [] \n", "44 [] \n", "45 [] \n", "46 [] \n", "47 [] \n", "48 [] \n", "49 [] \n", "50 [] \n", "51 [] \n", "52 [] \n", "53 [] \n", "\n", " user_mentions \n", "0 [] \n", "1 [] \n", "2 [] \n", "3 [] \n", "4 [] \n", "5 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "6 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "7 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "8 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "9 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "10 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "11 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "12 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "13 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "14 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "15 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "16 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "17 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "18 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "19 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "20 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "21 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "22 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "23 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "24 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "25 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "26 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "27 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "28 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "29 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "30 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "31 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "32 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "33 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "34 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "35 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "36 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "37 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "38 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "39 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "40 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "41 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "42 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "43 [{'id_str': '7780132', 'name': 'Charles Smith'... \n", "44 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "45 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "46 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "47 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "48 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "49 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "50 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "51 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "52 [{'id_str': '33836629', 'name': 'Andrej Karpat... \n", "53 [{'id_str': '33836629', 'name': 'Andrej Karpat... " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tweets_details = scraper.tweets_details([1770164518758633590], count=100, limit=100)\n", "\n", "df_tweets_details = (\n", " pd.json_normalize(tweets_details,record_path=['data','threaded_conversation_with_injections_v2','instructions'])\n", " ['entries']\n", " .dropna()\n", " .explode()\n", " .apply(pd.Series)\n", " ['content']\n", " .apply(pd.Series)\n", " ['items']\n", " .dropna()\n", " .explode()\n", " .apply(pd.Series)\n", " ['item']\n", " .apply(pd.Series)\n", " ['itemContent']\n", " .apply(pd.Series)\n", " .pipe(lambda df:df[df['__typename']!='TimelineTimelineCursor'])\n", " ['tweet_results']\n", " .apply(pd.Series)\n", " ['result']\n", " .apply(pd.Series)\n", " .pipe(lambda df:df[df['__typename']!='TweetWithVisibilityResults'])\n", " ['legacy']\n", " .apply(pd.Series)\n", " .pipe(lambda x: pd.concat([x, x['entities'].apply(pd.Series)],axis=1))\n", " .assign(created_at=lambda x:pd.to_datetime(x['created_at']))\n", " .sort_values('created_at', ascending=False)\n", " .reset_index(drop=True)\n", " .drop('entities',axis=1)\n", " [[\n", " 'created_at',\n", " 'id_str',\n", " 'user_id_str',\n", " 'full_text',\n", " 'favorite_count',\n", " 'urls',\n", " 'hashtags',\n", " 'user_mentions',\n", " ]]\n", "\n", ")\n", "df_tweets_details\n" ] }, { "cell_type": "markdown", "id": "c95a637b", "metadata": {}, "source": [ "### Favoriters" ] }, { "cell_type": "code", "execution_count": 4, "id": "cb7cd271", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Favoriters: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:01<00:00, 1.22s/it]\n", "/tmp/ipykernel_11828/1064589959.py:19: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", " .assign(created_at=lambda x:pd.to_datetime(x['created_at']))\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
rest_idcreated_atscreen_namelocationfollowers_countstatuses_countfavourites_countmedia_countstatuses_count
017741498705525800962024-03-30 19:01:21+00:00k_weissgerber4.00.018.00.00.0
117728301837974405132024-03-27 03:37:25+00:00kategerrald32.0173.0408.00.0173.0
217722867245778370562024-03-25 15:37:39+00:00DaringDott899440.01.056.00.01.0
317717857677293895682024-03-24 06:27:00+00:00ImeranceL331402.01.060.00.01.0
417717822468376780802024-03-24 06:13:01+00:00UsHarper778132.01.066.00.01.0
..............................
163150407902008-06-07 19:23:56+00:00ssarohaSan Jose, CA80.0599.01777.06.0599.0
164145783962008-04-29 01:12:13+00:00tim_waggonerPlanet Earth495.0332.0337.016.0332.0
16564526922007-05-30 20:13:53+00:00goodwintercrop338.0972.03874.048.0972.0
16651413812007-04-18 17:46:19+00:00hangelMedellin, Colombia493.09853.016483.0669.09853.0
167712832006-12-15 17:45:30+00:00mkampFrankfurt, Germany451.01181.010758.017.01181.0
\n", "

168 rows × 9 columns

\n", "
" ], "text/plain": [ " rest_id created_at screen_name \\\n", "0 1774149870552580096 2024-03-30 19:01:21+00:00 k_weissgerber \n", "1 1772830183797440513 2024-03-27 03:37:25+00:00 kategerrald \n", "2 1772286724577837056 2024-03-25 15:37:39+00:00 DaringDott89944 \n", "3 1771785767729389568 2024-03-24 06:27:00+00:00 ImeranceL33140 \n", "4 1771782246837678080 2024-03-24 06:13:01+00:00 UsHarper77813 \n", ".. ... ... ... \n", "163 15040790 2008-06-07 19:23:56+00:00 ssaroha \n", "164 14578396 2008-04-29 01:12:13+00:00 tim_waggoner \n", "165 6452692 2007-05-30 20:13:53+00:00 goodwintercrop \n", "166 5141381 2007-04-18 17:46:19+00:00 hangel \n", "167 71283 2006-12-15 17:45:30+00:00 mkamp \n", "\n", " location followers_count statuses_count favourites_count \\\n", "0 4.0 0.0 18.0 \n", "1 32.0 173.0 408.0 \n", "2 0.0 1.0 56.0 \n", "3 2.0 1.0 60.0 \n", "4 2.0 1.0 66.0 \n", ".. ... ... ... ... \n", "163 San Jose, CA 80.0 599.0 1777.0 \n", "164 Planet Earth 495.0 332.0 337.0 \n", "165 338.0 972.0 3874.0 \n", "166 Medellin, Colombia 493.0 9853.0 16483.0 \n", "167 Frankfurt, Germany 451.0 1181.0 10758.0 \n", "\n", " media_count statuses_count \n", "0 0.0 0.0 \n", "1 0.0 173.0 \n", "2 0.0 1.0 \n", "3 0.0 1.0 \n", "4 0.0 1.0 \n", ".. ... ... \n", "163 6.0 599.0 \n", "164 16.0 332.0 \n", "165 48.0 972.0 \n", "166 669.0 9853.0 \n", "167 17.0 1181.0 \n", "\n", "[168 rows x 9 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "favoriters = scraper.favoriters([1770164518758633590], count=100, limit=100)\n", "\n", "df_favoriters = (\n", " pd.json_normalize(favoriters,record_path=['data','favoriters_timeline','timeline', 'instructions'])\n", " ['entries']\n", " .explode()\n", " .apply(pd.Series)\n", " ['content']\n", " .apply(pd.Series)\n", " .pipe(lambda df:df[df['__typename']!='TimelineTimelineCursor'])\n", " ['itemContent']\n", " .apply(pd.Series)\n", " ['user_results']\n", " .apply(pd.Series)\n", " ['result']\n", " .apply(pd.Series)\n", " .pipe(lambda x: pd.concat([x[['rest_id']],x['legacy'].apply(pd.Series)],axis=1))\n", " .dropna(subset='created_at')\n", " .assign(created_at=lambda x:pd.to_datetime(x['created_at']))\n", " .sort_values('created_at', ascending=False)\n", " .reset_index(drop=True)\n", " [[\n", " 'rest_id',\n", " 'created_at',\n", " 'screen_name',\n", " 'location',\n", " 'followers_count',\n", " 'statuses_count',\n", " 'favourites_count',\n", " 'media_count',\n", " 'statuses_count'\n", " ]]\n", ")\n", "df_favoriters" ] }, { "cell_type": "code", "execution_count": null, "id": "a45a8e55", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.14" } }, "nbformat": 4, "nbformat_minor": 5 }