~/talk

Building a Twitter Metadata Scraper: Learnings from Working with a New Twitter API

Talkat PyOhio 2018 · 2018-07-28..07-29· [web-platform, python]
slides:none on file

Builds a service that calls the new Twitter refresh endpoint (beta, whitelist required) whenever Fastly cache purge succeeds, using NSQ message events. Uses Python 3.5, implements a NSQ queue reader, and solves concurrency by wrapping the blocking requests POST in asyncio run_in_executor workers so hundreds of rescrapes run concurrently. Hits initial 429 rate limits, then mitigates them by skipping drafts and pacing requests; outcome: metadata updates happen immediately and reliably in production.

AI-written summary · about

  1. 0:00The problem: stale metadata
  2. 2:07Content management workflow
  3. 6:33Automated event handling
  4. 8:24The Twitter challenge
  5. 10:20Using NSQ for messaging
  6. 14:03Designing the scraper
  7. 17:31Implementing the logic
  8. 20:42Asynchronous requirements
  9. 23:40Final implementation details
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.