I wasted a weekend building a link checker. Manual clicking would've been faster.

Found 800 URLs in my old blog export. Some were broken. Clicking manually was not happening. Started simple: fetch each URL, check if it returns an error. import requests with open('urls.txt') as f...

By · · 1 min read
I wasted a weekend building a link checker. Manual clicking would've been faster.

Source: DEV Community

Found 800 URLs in my old blog export. Some were broken. Clicking manually was not happening. Started simple: fetch each URL, check if it returns an error. import requests with open('urls.txt') as f: urls = [line.strip() for line in f] for url in urls: r = requests.get(url, timeout=10) if r.status_code >= 400: print(f'broken: {url}') Ran it. Got rate limited after 20 requests. Added a delay. import time for url in urls: r = requests.get(url, timeout=10) if r.status_code >= 400: print(f'broken: {url}') time.sleep(1) Better. Site stopped blocking me. Script ran for a few hours and found 47 broken links. Cool right? Done. Except I went back to manually check a few of the "working" URLs and some were clearly dead. What. Turns out the script was stopping at redirects. If URL A redirected to URL B, it only checked if A existed. URL B could be 404 and nobody would know. So I rewrote it to follow the whole chain. import requests def check_url(url): current = url while True: r = requests.g

Related Posts

Trending on ShareHub

  1. Understanding Modern JavaScript Frameworks in 2026
    by Alex Chen · Feb 12, 2026 · 0 likes
  2. The System Design Primer
    by Sarah Kim · Feb 12, 2026 · 0 likes
  3. Just shipped my first open-source project!
    by Alex Chen · Feb 12, 2026 · 0 likes
  4. OpenAI Blog
    by Sarah Kim · Feb 12, 2026 · 0 likes
  5. Building Accessible Web Applications: A Practical Guide
    by Alex Chen · Feb 12, 2026 · 0 likes
  6. Rapper Lil Poppa dead at 25, days after releasing new music
    Rapper Lil Poppa dead at 25, days after releasing new music
    by Anonymous User · Feb 19, 2026 · 0 likes
  7. write-for-us
    by Volt Raven · Mar 7, 2026 · 0 likes
  8. Before the Coffee Gets Cold: Heartfelt Story of Time Travel and Second Chances
    Before the Coffee Gets Cold: Heartfelt Story of Time Travel and Second Chances
    by Anonymous User · Feb 12, 2026 · 0 likes
    #coffee gets cold #the #time travel
  9. Best DoorDash Promo Code Reddit Finds for Top Discounts
    Best DoorDash Promo Code Reddit Finds for Top Discounts
    by Anonymous User · Feb 12, 2026 · 0 likes
    #doordash #promo #reddit
  10. Premium SEO Services That Boost Rankings & Revenue | VirtualSEO.Expert
    by Anonymous User · Feb 12, 2026 · 0 likes
  11. NBC under fire for commentary about Team USA women's hockey team
    NBC under fire for commentary about Team USA women's hockey team
    by Anonymous User · Feb 18, 2026 · 0 likes
  12. Where to Watch The Nanny: Streaming and Online Viewing Options
    Where to Watch The Nanny: Streaming and Online Viewing Options
    by Anonymous User · Feb 12, 2026 · 0 likes
    #streaming #the nanny #where
  13. How Much Is Kindle Unlimited? Subscription Cost and Plan Details
    How Much Is Kindle Unlimited? Subscription Cost and Plan Details
    by Anonymous User · Feb 12, 2026 · 0 likes
    #kindle unlimited #subscription #unlimited
  14. Russian skater facing backlash for comment about Amber Glenn
    Russian skater facing backlash for comment about Amber Glenn
    by Anonymous User · Feb 18, 2026 · 0 likes
  15. Google News
    Google News
    by Anonymous User · Feb 18, 2026 · 0 likes

Latest on ShareHub

Browse Topics

#ai (4018)#news (2419)#webdev (1831)#programming (1329)#business (1127)#opensource (1037)#security (1019)#productivity (949)#prediction markets (859)#/business (776)

Around the Network