<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Scraping on Max Halford</title><link>https://maxhalford.github.io/tags/scraping/</link><description>Recent content in Scraping on Max Halford</description><generator>Hugo</generator><language>en-US</language><managingEditor>maxhalford25@gmail.com (Max Halford)</managingEditor><webMaster>maxhalford25@gmail.com (Max Halford)</webMaster><lastBuildDate>Tue, 21 Jul 2026 21:18:41 +0200</lastBuildDate><atom:link href="https://maxhalford.github.io/tags/scraping/index.xml" rel="self" type="application/rss+xml"/><item><title>Autonomous web scraping with Claude Code</title><link>https://maxhalford.github.io/blog/autonomous-web-scraping-claude-code/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><author>maxhalford25@gmail.com (Max Halford)</author><guid>https://maxhalford.github.io/blog/autonomous-web-scraping-claude-code/</guid><description>&lt;p&gt;Andrej Karpathy&amp;rsquo;s &lt;a href="https://github.com/karpathy/autoresearch"&gt;autoresearch&lt;/a&gt; project made a lot of ripples. I guess it&amp;rsquo;s exciting because a program that modifies itself feels like actual AI. The concept of autonomous programs is not new &amp;ndash; see &lt;a href="https://en.wikipedia.org/wiki/Genetic_programming"&gt;genetic programming&lt;/a&gt; &amp;ndash; but &lt;a href="https://github.com/FeSens/auto-arch-tournament/blob/main/docs/auto-arch-tournament-blog-post.md"&gt;what&lt;/a&gt; &lt;a href="https://shopify.engineering/autoresearch"&gt;we&amp;rsquo;re&lt;/a&gt; &lt;a href="https://github.com/MaxHalford/qthun"&gt;witnessing&lt;/a&gt; &lt;a href="https://github.com/WecoAI/awesome-autoresearch"&gt;now&lt;/a&gt; is somewhat more convincing. We just got a bit closer to Neuromancer&amp;rsquo;s world, with a &lt;a href="https://williamgibson.fandom.com/wiki/Turing_Police"&gt;Turing Police&lt;/a&gt; that&amp;rsquo;s in charge of stopping AIs from rewriting themselves.&lt;/p&gt;
&lt;p&gt;While we wait for AI to become self-conscious, there are mundane problems that can be solved with autoresearch. Web scraping is one of these. Indeed, turning unstructured data into knowledge is an excellent problem for LLMs to solve. But there are nuances to have in mind:&lt;/p&gt;</description></item><item><title>Scraping Google Calendar events</title><link>https://maxhalford.github.io/blog/google-calendar-scraping/</link><pubDate>Sun, 12 Oct 2025 00:00:00 +0000</pubDate><author>maxhalford25@gmail.com (Max Halford)</author><guid>https://maxhalford.github.io/blog/google-calendar-scraping/</guid><description>&lt;p&gt;At my day job we deal with enterprise customers. They pay us a subscription fee, and in return we help them in various ways to reduce their carbon footprint. To keep the boat afloat, we need to make some money. We shouldn&amp;rsquo;t spend more money than we make. So we need to keep track of our revenue and costs. Our gross margin is &lt;code&gt;(revenue - cost) / revenue&lt;/code&gt;, where the cost is mostly the salaries of our employees.&lt;/p&gt;</description></item><item><title>Do LLMs identify fonts?</title><link>https://maxhalford.github.io/blog/llm-font-identification/</link><pubDate>Wed, 30 Jul 2025 00:00:00 +0000</pubDate><author>maxhalford25@gmail.com (Max Halford)</author><guid>https://maxhalford.github.io/blog/llm-font-identification/</guid><description>&lt;p&gt;&lt;em&gt;Spoiler: &lt;a href="https://maxhalford.github.io/llm-font-recognition/"&gt;not really&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.dafont.com/fr/"&gt;dafont.com&lt;/a&gt; is a wonderful website that contains a large collection of fonts. It&amp;rsquo;s more comprehensive and esoteric than Google Fonts. One of its features is a forum where users can ask for help identifying fonts &amp;ndash; check out &lt;a href="https://www.dafont.com/forum/read/522670/font-identification"&gt;this poor fellow&lt;/a&gt; who&amp;rsquo;s been waiting for over two years and bumped his thread. I thought it would be interesting to see if an LLM could do this task, so I scraped the forum and set up a benchmark.&lt;/p&gt;</description></item><item><title>Web scraping, upside down</title><link>https://maxhalford.github.io/blog/declarative-web-scraping/</link><pubDate>Thu, 11 Nov 2021 00:00:00 +0000</pubDate><author>maxhalford25@gmail.com (Max Halford)</author><guid>https://maxhalford.github.io/blog/declarative-web-scraping/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;
&lt;p&gt;Web scraping is the art of extracting information from web pages. A web page is essentially an amalgamation of HTML tags. Usually, we&amp;rsquo;re looking for a particular piece of information on a given web page. This may be done by fetching the HTML content of the page in question, and then running some HTML parsing logic. It&amp;rsquo;s quite straightforward.&lt;/p&gt;
&lt;p&gt;There are many tools in the wild to perform web scraping. For instance, in Python, you may use &lt;a href="https://docs.python-requests.org/en/latest/"&gt;requests&lt;/a&gt; in combination with &lt;a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/"&gt;Beautiful Soup&lt;/a&gt;. You can also automate some of the more mundane aspects of scraping by using &lt;a href="https://scrapy.org/"&gt;Scrapy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Manipulating ephemeral data with git</title><link>https://maxhalford.github.io/blog/manipulating-ephemeral-data-with-git/</link><pubDate>Thu, 07 Oct 2021 00:00:00 +0000</pubDate><author>maxhalford25@gmail.com (Max Halford)</author><guid>https://maxhalford.github.io/blog/manipulating-ephemeral-data-with-git/</guid><description/></item></channel></rss>