Episode 503: Diarmuid McDonnell on Web Scraping

Topics covered
Popular Clips
Episode Highlights
Legal Aspects
discusses the legal intricacies of web scraping, emphasizing the importance of understanding copyright laws and terms of service. He explains that while web scraping isn't explicitly illegal in many jurisdictions, including the UK, the real challenge lies in the restrictions on data usage post-scraping 1. Websites often have terms of service that prohibit automated data collection, and even if scraping is technically allowed, the use of the data can be restricted. Diarmuid highlights the detective work involved in checking terms and conditions before scraping, noting that public pages and those behind authentication have different levels of access 2.
Tool Selection
In the realm of web scraping, shares his preference for Python, utilizing tools like Requests and Beautiful Soup for their efficiency in handling web data. He contrasts these with Scrapy, a more comprehensive framework that he finds unnecessary for his needs, though it is popular among his colleagues 3. Diarmuid's choice of Python was influenced by his academic environment, where it was recommended for handling large-scale unstructured data 4. He emphasizes the importance of selecting the right tools for specific tasks, rather than relying on a single tool for all web scraping activities 5.
Overcoming Challenges
Addressing web scraping challenges, describes his experiential learning approach to writing effective code. He adapts solutions to specific website challenges, such as cycling through public proxies to overcome request limits 6. Data quality is another concern, with frequent website updates necessitating regular checks and adjustments to scrapers. Diarmuid notes that while data quality issues like duplicates are manageable, the unpredictability of website updates requires constant vigilance 7.
Related Episodes


Episode 542: Brendan Callum on Contract-Driven APIs
Answers 383 questions

SE-Radio Episode 313: Conor Delanbanque on Hiring and Retaining DevOps
Answers 383 questions

Episode 367: Diomidis Spinellis on Debugging
Answers 383 questions

Episode 191: Massively Open Online Courses
Answers 383 questions

Episode 504: Frank McSherry on Materialize
Answers 383 questions

Episode 206: Ken Collier on Agile Analytics
Answers 383 questions

Episode 17: Feedback and Roadmap
Answers 383 questions
Episode 392: Stephen Wolfram on Mathematica
Answers 383 questionsEpisode 147: Software Development Manager
Answers 383 questions

Episode 116: The Semantic Web with Jim Hendler
Answers 383 questions

SE Radio 594: Sean Moriarity on Deep Learning with Elixir and Axon
Answers 383 questions

Episode 517: Jordan Adler on Code Generators
Answers 383 questions

Episode 67: Roundtable on MDSD and PLE
Answers 383 questions
seradio-episode132-architectureMistakesWithEoinWoods_clean.mp3
Answers 383 questions

Episode 31: Agile Documentation
Answers 383 questions














