article.published_at = Time.zone.parse(elm.css(".byline time").first.to_h["datetime"])
# timezone seems inconsistent, no big deal because we only care about date anyway
I've written a TechCrunch scraper myself, and it turns out the reason the time-zone is inconsistent is TechCrunch outputs the time in 12-hour AM/PM...but forgets to include the AM/PM. So the hours just loop around from 0 to 12.