<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>data-extraction on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/data-extraction/</link>
    <description>Recent content in data-extraction on S Anand</description>
    <generator>Hugo -- 0.156.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 15 Nov 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/data-extraction/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title></title>
      <link>https://www.s-anand.net/blog/people-beginning-and-ending-with-ai/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/people-beginning-and-ending-with-ai/</guid>
      <description>&lt;p&gt;When I realized &lt;strong&gt;Ai&lt;/strong&gt;shwarya R&lt;strong&gt;ai&lt;/strong&gt; begins and ends with AI, I &lt;em&gt;had&lt;/em&gt; to find out if there were more like her.&lt;/p&gt;
&lt;p&gt;It took a coding agent (Claude Code in this case) 10 minutes to find the 10 celebrities who share that distinction, at least across the 24,086 names on Wikipedia:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt; Nag&lt;strong&gt;ai&lt;/strong&gt; - Japanese playwright&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt;guo D&lt;strong&gt;ai&lt;/strong&gt; - Chinese-American atmospheric scientist&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt; (poet) - American poet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt;sea Naw&lt;strong&gt;ai&lt;/strong&gt; - Fijian rugby player&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt; (singer) - Japanese-American singer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt;sha Chught&lt;strong&gt;ai&lt;/strong&gt; - Pakistani actress&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt;yappan Pill&lt;strong&gt;ai&lt;/strong&gt; - Indian social reformer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt;zawa Seishis&lt;strong&gt;ai&lt;/strong&gt; - Japanese Confucian scholar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt;nmuire mac Sétn&lt;strong&gt;ai&lt;/strong&gt; - Irish high king&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ai&lt;/strong&gt;sha Yousef al-Mann&lt;strong&gt;ai&lt;/strong&gt; - Qatari artist&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Glory be to these AI bookends!&lt;/p&gt;
&lt;p&gt;PS: It&amp;rsquo;s pretty cool that two celebrities are known just as &amp;ldquo;Ai&amp;rdquo;!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prompt: &lt;a href=&#34;https://github.com/sanand0/research/pull/11&#34;&gt;https://github.com/sanand0/research/pull/11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Code: &lt;a href=&#34;https://github.com/sanand0/research/tree/main/wikipedia-ai-names&#34;&gt;https://github.com/sanand0/research/tree/main/wikipedia-ai-names&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2025-11-15-people-beginning-and-ending-with-ai-linkedin.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/posts/sanand0_when-i-realized-%F0%9D%97%94%F0%9D%97%B6shwarya-r%F0%9D%97%AE%F0%9D%97%B6-begins-activity-7396577669649379328-3M2l&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Vibe-Scraping: Write outcomes, not scrapers</title>
      <link>https://www.s-anand.net/blog/vibe-scraping-write-outcomes-not-scrapers/</link>
      <pubDate>Tue, 30 Sep 2025 13:18:20 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/vibe-scraping-write-outcomes-not-scrapers/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Vibe-Scraping: Write outcomes, not scrapers&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/image-12.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;There hasn&amp;rsquo;t been a box-office explosion like Dangal in the history of Bollywood. CPI inflation-adjusted to 2024, it is the only film in the ₹3,000 Cr club.&lt;/p&gt;
&lt;p&gt;3 Idiots (2009) is the first member of the ₹1,000 Cr club (2024-inflation-adjusted). The hot streak was 2013-2017: &lt;strong&gt;each&lt;/strong&gt; year, a film crossed that bar: Dhoom 3, PK, Bajrangi Bhaijaan, Dangal, Secret Superstar.&lt;/p&gt;
&lt;p&gt;Since then, we &lt;strong&gt;never&lt;/strong&gt; saw such a release except in 2023 (Jawan, Pathan).&lt;/p&gt;
&lt;p&gt;But this story isn&amp;rsquo;t about the box-office drought. It&amp;rsquo;s about &lt;strong&gt;vibe-scraping&lt;/strong&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;To scrape the 1k Cr club data, here&amp;rsquo;s what my process would be in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2008-2015. Requests + BeautifulSoup in Python. Takes ~1 day.&lt;/li&gt;
&lt;li&gt;2015-2024. Puppeteer. Still takes ~1 day.&lt;/li&gt;
&lt;li&gt;2025-Today. AI writes code. ~2 hours/site. &lt;strong&gt;4x faster&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Today-???. Coding agents &lt;strong&gt;scrape directly&lt;/strong&gt;. ~30 min/site. &lt;strong&gt;16 times faster&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I passed Codex CLI (roughly) this prompt:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Write scrape.py to scrape the highest-grossing films from Wikipedia&amp;rsquo;s list of Hindi films: 1994 to 2024.&lt;br&gt;
Read pages as required. Save results as CSV.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here&amp;rsquo;s what it did.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read the Wikipedia lists starting &lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_Hindi_films_of_1994&#34;&gt;1994&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Failed on missing BeautifulSoup dependency. I allowed install.&lt;/li&gt;
&lt;li&gt;Discovered that tables below &amp;ldquo;grossing&amp;rdquo; or &amp;ldquo;box office&amp;rdquo; headings are relevant.&lt;/li&gt;
&lt;li&gt;Noticed &amp;ldquo;Rank&amp;rdquo; became “No” in the column header since 2016 and adapted.&lt;/li&gt;
&lt;li&gt;Fixed all errors and generated a clean CSV.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&amp;rsquo;s… &lt;strong&gt;incredible&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;The code was a by-product. The prompt and evals matter. When sites change, agents can fix the code. Or better agents will rewrite it.&lt;/p&gt;
&lt;p&gt;I guess I&amp;rsquo;ll call this &lt;strong&gt;vibe-scraping&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I also asked Claude Code vibe-code a data story. Here are the links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://sanand0.github.io/datastories/bollywood-top-grossing/&#34;&gt;Visualization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sanand0/datastories/blob/6f6ef4b92adccdb519a8de717ac330268ab4e341/bollywood-top-grossing/&#34;&gt;Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sanand0/datastories/blob/6f6ef4b92adccdb519a8de717ac330268ab4e341/bollywood-top-grossing/prompts/scraper.md&#34;&gt;Scraper chat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sanand0/datastories/blob/6f6ef4b92adccdb519a8de717ac330268ab4e341/bollywood-top-grossing/prompts/dataviz.md&#34;&gt;Dataviz chat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;This afternoon, in front of a client, I spoke with Codex:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Write a scrape.py that searches Dutch fashion merchant websites and lists what delivery carriers they use.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;~10 minutes later, we had a table. The client spotted one error that I couldn&amp;rsquo;t have. Expert review still matters. But what&amp;rsquo;s redundant is my 20-year scraping experience!&lt;/p&gt;
&lt;p&gt;If agents can scrape on the fly, what &lt;strong&gt;new&lt;/strong&gt; questions do we ask?&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/posts/sanand0_there-hasnt-been-a-box-office-explosion-activity-7378964378899054593-X4mP&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Dissecting my Airtel bills</title>
      <link>https://www.s-anand.net/blog/dissecting-my-airtel-bills/</link>
      <pubDate>Tue, 11 Aug 2015 13:13:33 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/dissecting-my-airtel-bills/</guid>
      <description>&lt;p&gt;My monthly postpaid mobile bills have been in the Rs 2,000 – Rs 3,000 range for some time now, and I spent a few hours dissecting them yesterday.&lt;/p&gt;
&lt;p&gt;Page 3 had the good stuff. It’s a little hard to figure out, but what the last 2 columns say is that &lt;strong&gt;most of my spend is offset by discounts&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.s-anand.net/blog/assets/2015-08-11-18_26_53-Start1.webp&#34;&gt;&lt;img alt=&#34;2015-08-11 18_26_53-Start&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/2015-08-11-18_26_53-Start1.webp&#34; title=&#34;2015-08-11 18_26_53-Start&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What’s &lt;strong&gt;not&lt;/strong&gt; getting offset are outgoing roaming calls. Followed by calls to local landlines. For all practical purposes, that’s the only thing that counts in this bill. Everything else is close enough to zero.&lt;/p&gt;
&lt;p&gt;It took me some time to figure out that Airtel postpaid has something called &lt;a href=&#34;http://www.airtel.in/mobile/postpaid/tariffs/myop-monthly-plan-active?region=4&#34;&gt;myPlan&lt;/a&gt;. Based on your plan, you get set of “myPacks” or discounts. That determines your final bill. And it turns out that I was barely using my quota in some areas – specifically data. I had 3GB of data available. I was typically using 200MB – 500MB. The last 2 columns on page 2 show the usage of myPacks.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.s-anand.net/blog/assets/image5.webp&#34;&gt;&lt;img alt=&#34;image&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/image5.webp&#34; title=&#34;image&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Clearly, I can do with less data, less SMS, less local mobile, and perhaps less STD mobile. I might need more outgoing roaming, but that’s about it. This means I need fewer myPacks. So I was able to switch to the Rs 799 plan from the Rs 999 plan, while simultaneously increasing the number of free outgoing roaming calls I can make.&lt;/p&gt;
&lt;p&gt;There seems to be no myPack for incoming roaming, so I’m actually better off calling people if I’m travelling, rather than receiving calls!&lt;/p&gt;
&lt;p&gt;The rest of the bill is a treasure-trove of data, listing every call and every pulse of data connection. I only wish it also had the location of the calls, and were available as CSV files.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;
&lt;!-- wp-comments-start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ashish&lt;/strong&gt; &lt;em&gt;11 Aug 2015 6:31 pm&lt;/em&gt;:
Ask Airtel to start 99/- per month national roaming pack to make all incoming roaming calls free.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;408wij&lt;/strong&gt; &lt;em&gt;11 Aug 2015 9:29 pm&lt;/em&gt;:
A quick google search turned up two android apps: (1) Call Log Location and (2) Log Call Location. Perhaps their logs can be exported and cross-referenced w/ your bill.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bala&lt;/strong&gt; &lt;em&gt;1 Sep 2015 12:47 pm&lt;/em&gt;:
You spend 1 day (&amp;gt;24 hours) in talking on your mobile.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.faceofit.com/reviews&#34;&gt;Indrajit Ghosh&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;18 Jan 2017 1:57 pm&lt;/em&gt;:
You can ask for a better Data deal from Airtel.&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- wp-comments-end --&gt;
</description>
    </item>
    <item>
      <title>Scraping for a laptop</title>
      <link>https://www.s-anand.net/blog/scraping-for-a-laptop/</link>
      <pubDate>Sat, 14 Jan 2012 04:00:51 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/scraping-for-a-laptop/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve returned my &lt;a href=&#34;https://www.s-anand.net/blog/software-for-my-new-laptop-2/&#34;&gt;laptop&lt;/a&gt;, and it&amp;rsquo;s time to buy a new one. For the first time in my life, I&amp;rsquo;m buying a laptop for myself.&lt;/p&gt;
&lt;p&gt;I have a fairly clear idea of what I want: a &lt;a href=&#34;http://dalvenjah.foxfire.net/2010/01/5400rpm-vs-7200rpm-hard-disks-should-you-care/&#34;&gt;500GB+ 7200 rpm&lt;/a&gt; hard disk with 4GB of RAM and an &lt;a href=&#34;http://en.wikipedia.org/wiki/Intel_Core#Core_i7_2&#34;&gt;Intel Core i7&lt;/a&gt;. I thought that would make finding one of those &lt;a href=&#34;https://musiccritic.com/equipment/studio/best-laptops-music-production/&#34;&gt;powerful laptops for producing music&lt;/a&gt; since I record some stuff too out of hobby.&lt;/p&gt;
&lt;p&gt;Sheer naïveté. Not a single site let me filter by hard disk rpm in India. (To be fair, I haven&amp;rsquo;t found any sites outside India that did that either.)&lt;/p&gt;
&lt;p&gt;After spending a good two hours hunting for the details and collating it, I did what I normally would: spend 30 minutes &lt;a href=&#34;https://scraperwiki.com/scrapers/flipkart_laptops/&#34;&gt;writing a scraper&lt;/a&gt;. The scraper runs through all laptops on &lt;a href=&#34;http://www.flipkart.com/&#34;&gt;Flipkart&lt;/a&gt; and pulls out all of their specs. Thanks to the diligence of the good folks at Flipkart, this information is readily available on each page. The HTML is structured quite neatly too, so it was just a 30-line program to scrape it all. Full credit to &lt;a href=&#34;http://scraperwiki.com/&#34;&gt;ScraperWiki&lt;/a&gt; as well — I could use it on a netbook without any developer tools installed.&lt;/p&gt;
&lt;p&gt;The scraper took 2 hours to run. Feel free to filter through the &lt;a href=&#34;https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=csv&amp;amp;name=flipkart_laptops&amp;amp;query=select+*+from+%60swdata%60&amp;amp;apikey=&#34;&gt;output&lt;/a&gt; (CSV) for your favourite laptop, or fork the code and pull any other data you like.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;
&lt;!-- wp-comments-start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ravi atluri&lt;/strong&gt; &lt;em&gt;14 Jan 2012 4:19 am&lt;/em&gt;:
If weight is not a limitation&amp;hellip;i would recommend XPS15 or XPS15z
i prefer it because of the i7 and &amp;gt;8GB RAM. gives me flexibility to run linux on VMs and 8 cores and 8GB RAM gives a lot of VMs :P
if you are looking for portability. mac book pro :D it best fits for coding too&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subodh M&lt;/strong&gt; &lt;em&gt;24 Jan 2012 1:05 pm&lt;/em&gt;:
Anand, hv u explored Thinkpad T410i? I am using one with with an i5 processor with4GB RAM, 500GB HDD, @ 7200 rpm and am happy with it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.s-anand.net/&#34;&gt;S Anand&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;14 Jan 2012 10:29 am&lt;/em&gt;:
Battery life is the other consideration, and may be more important than performance. I am edging towards the Sony Vaio S VPCSA35GG. Despite the terrible name, it seems to have a decent performance battery-life trade off.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Indira&lt;/strong&gt; &lt;em&gt;14 Jan 2012 5:40 pm&lt;/em&gt;:
dell xps 14/15z comes with a good battery life. dell claims 7 hours, but i would think that would be with a slightly less than optimal settings of screen brightness, it would at least give you 4 hours, which is reasonable. Between sony and dell, my choice would be dell&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.s-anand.net/&#34;&gt;S Anand&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;14 Jan 2012 5:59 pm&lt;/em&gt;:
@Indira: thanks! Have added Dell XPS to my list. Also considering an Thinkpad E520 (i5, 4GB, 750GB) that seems very reasonably priced by a local vendor. I&amp;rsquo;ll try and avoid Sony.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://yuvi.in&#34;&gt;Yuvi&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;14 Jan 2012 6:47 pm&lt;/em&gt;:
SSD!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Somnath&lt;/strong&gt; &lt;em&gt;14 Jan 2012 7:31 pm&lt;/em&gt;:
If you are planning to buy from flipkart you may like to contact Ravi Vohra. He is a big shot at flipkart :D&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.s-anand.net/&#34;&gt;S Anand&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;16 Jan 2012 1:25 pm&lt;/em&gt;:
@pavan: agreed. I already have an external SSD though, so I just need a USB 3.0 port to take advantage of it. Can live with a more cost effective laptop :-)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pavan&lt;/strong&gt; &lt;em&gt;16 Jan 2012 6:38 am&lt;/em&gt;:
Anand, try to get a laptop with SSD, or upgrade later.
Even the cheapest SSDs are 10 times faster than HDDs.
Low noise and better battery life are nice to have side effects of SSD.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S.C&lt;/strong&gt; &lt;em&gt;8 Aug 2012 3:20 pm&lt;/em&gt;:
I had gone to a HP authorized service center, since browsers other than IE wouldn&amp;rsquo;t work on my 3+ yr. old HP Pavilion Multimedia laptop. The person in charge of this center said that my laptop had probably been infected with a virus and advised me to install Norton AV. He also offered to &amp;lsquo;upgrade&amp;rsquo; the OS in it from the licensed version of Windows Vista to Windows 7.
When I started working on the laptop at home, I found messages that the OS was an unlicensed one. A few days later, I found that the laptop was not booting in the first attempt. Even when it booted, I got &amp;lsquo;blue screen&amp;rsquo; errors before booting and horizontal and vertical lines on the screen which sometimes intersected.
On taking the laptop back to the service center, I was told that the NVIDIA graphics card on the laptop&amp;rsquo;s motherboard had malfunctioned. I want to ask users through this forum, whether this could have happened because of the extra load imposed on the 3+ yr. old graphics card by Windows 7? Since the personnel at the center now claimed that they could repair the graphics card for Rs. 1500, I gave them the laptop. But, when I collected it back after a week, I found no change in the laptop. So, I took it to the main HP service center in my city (where laptops covered by warranty are repaired).
The personnel at this center said that they would have to replace the mother-board, since they didn&amp;rsquo;t do chip level repairing. So, in order to get a graphics card repaired, I would have to shell out Rs. 22K for a new mother-board. Though I accepted this, HP hit me on the head with their next condition, when they said that they could repair the laptop, only if I surrendered the existing mother-board (in the malfunctioning laptop) to them, free of cost. This was in spite of the fact, that they had not mentioned this when taking the laptop from me for repair. Since, I couldn&amp;rsquo;t have taken the earlier HP service center personnel to court for cheating me out of Rs. 1500 (in the name of repairing the graphics card), I refused and had to come back from the service center without getting the laptop repaired, in spite of pleading with HP to repair the mother-board for a month. They not only refused repeatedly, saying that this was their policy world wide and they couldn&amp;rsquo;t change it just for me, but added insult to injury, by charging me Rs. 300 for inspecting the laptop.
The reason I am mentioning this incident here, is because I feel this is malafide on the part of HP. Since I pay for a laptop when I buy it, the motherboard in it becomes my property then and there. If it malfunctions, why should I have to surrender it, to get it replaced and that also free of cost? I can choose to do whatever I want with it, which in this case, will definitely be to take HP to court for deficiency of service and causing mental agony, which wouldn&amp;rsquo;t have been possible if I had surrendered the defective mother-board.
I have heard that DELL is also taking customers for a ride in a similar way. Have any of you faced this?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.s-anand.net/&#34;&gt;S Anand&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;16 Jan 2012 1:27 pm&lt;/em&gt;:
@Ravi, will reach out and take advice on how to get those discounts!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deepak&lt;/strong&gt; &lt;em&gt;15 Jan 2012 4:17 am&lt;/em&gt;:
Aww, that is awesome. Can you include the price as well? :)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.ikway.blogspot.com&#34;&gt;Sri&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;15 Jan 2012 9:26 am&lt;/em&gt;:
Try to check the prices at Dell Web Site directly and speak to the sales guy as well, they may give you a better price. Also it is better to have a look at Croma where you get a chance to touch and feel the different products and you will get an idea of price.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://thejeshgn.com&#34;&gt;Thejesh GN&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;15 Jan 2012 1:53 pm&lt;/em&gt;:
I use Hp Probook 6460b which actually matches all your requirements. Unfortunately Flipkart has i5 one :(&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.s-anand.net/&#34;&gt;S Anand&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;15 Jan 2012 3:08 pm&lt;/em&gt;:
Thanks Sri, that&amp;rsquo;s a great idea. Will check Croma tomorrow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.s-anand.net/&#34;&gt;S Anand&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;15 Jan 2012 3:28 pm&lt;/em&gt;:
How are HP laptops, generally? I haven&amp;rsquo;t heard anything one way or the other so far&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ravi atluri&lt;/strong&gt; &lt;em&gt;15 Jan 2012 6:20 pm&lt;/em&gt;:
my dell xps15 gives me around 4.5 hours ..that&amp;rsquo;s a 9 cell battery and is pretty heavy :P XPS is more of a portable desktop than a portable one ;)
I prefer Dell, because of their better service in India.
and if you are buying Dell&amp;hellip;there are tricks to get discounts ;) dont order online directly :D&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://blog.sanspace.in/scraperwiki/&#34;&gt;How to Scrap Web Pages using ScraperWiki? | Python, ScraperWiki, HasGeek, Jobs | Sanspace Blog&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;28 Sep 2012 8:04 pm&lt;/em&gt; &lt;em&gt;(pingback)&lt;/em&gt;:
[&amp;hellip;] data from web pages in a programmable way. For example, Check out Anand’s post about how he scraped for a laptop on Flipkart. That’s how I came to know about ScraperWiki and recently I wrote some quick and [&amp;hellip;]&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- wp-comments-end --&gt;
</description>
    </item>
    <item>
      <title>Scraping RSS feeds using XPath</title>
      <link>https://www.s-anand.net/blog/scraping-rss-feeds-using-xpath/</link>
      <pubDate>Mon, 17 Dec 2007 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/scraping-rss-feeds-using-xpath/</guid>
      <description>&lt;p&gt;If a site doesn&#39;t have an RSS feed, your simplest option is to use &lt;a href=&#34;http://www.page2rss.com/&#34;&gt;Page2Rss&lt;/a&gt;, which gives a feed of what&#39;s changed on a page.&lt;/p&gt;
&lt;p&gt;My needs, sometimes, are a bit more specific. For example, I want to track new movies on the &lt;a href=&#34;http://www.imdb.com/chart/top&#34;&gt;IMDb Top 250&lt;/a&gt;. They don&#39;t offer a feed. I don&#39;t want to track all the other junk on that page. Just the top 250.&lt;/p&gt;
&lt;p&gt;There&#39;s a standard called &lt;a href=&#34;http://www.w3.org/TR/1999/REC-xpath-19991116&#34;&gt;XPath&lt;/a&gt;. It can be used to search in an HTML document in a pretty straightforward way. Here are some examples:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;//a&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Matches all &amp;lt;a&amp;gt; links&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;//p/b&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Matches all &amp;lt;b&amp;gt; bold items in a &amp;lt;p&amp;gt; para. (the &amp;lt;b&amp;gt; must be immediately under the &amp;lt;p&amp;gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;//table//a&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Matches all links inside a table (the links need not be immediately inside the table -- anywhere inside the table works)&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;You get the idea. It&#39;s like a folder structure. / matches the a tag that&#39;s immediately below. // matches a tag that&#39;s somewhere below. You can play around with XPath using the &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/1095&#34;&gt;Firefox XPath Checker&lt;/a&gt; add-on. Try it -- it&#39;s much easier to try it than to read the documentation.&lt;/p&gt;
&lt;p&gt;The following XPath matches the &lt;a href=&#34;http://www.imdb.com/chart/top&#34;&gt;IMDb Top 250&lt;/a&gt; exactly.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-xpath&#34; data-lang=&#34;xpath&#34;&gt;//tr//tr//tr//td[3]//a
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;(It&#39;s a link inside the 3rd column in a table row in a table row in a table row.)&lt;/p&gt;
&lt;p&gt;Now, all I need is to get something that converts that to an RSS feed. I couldn&#39;t find anything on the Web, so I wrote my own &lt;a href=&#34;https://www.s-anand.net/blog/xpath&#34;&gt;XPath server&lt;/a&gt;. The URL:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;a href=&#34;https://www.s-anand.net/blog/xpath?url=http://www.imdb.com/chart/top&amp;#038;xpath=//tr//tr//tr[position()&amp;gt;1]//td[3]//a&#34;&gt;www.s-anand.net/xpath?&lt;br /&gt;url=http://www.imdb.com/chart/top&amp;#038;&lt;br /&gt;xpath=//tr//tr//tr//td[3]//a&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When I subscribe to this URL on &lt;a href=&#34;http://reader.google.com/&#34;&gt;Google Reader&lt;/a&gt;, I get to know whenever there&#39;s a new movie on the IMDb Top 250.&lt;/p&gt;
&lt;p&gt;This gives only the names of the movies, though, and I&#39;d like the links as well. The &lt;a href=&#34;https://www.s-anand.net/blog/xpath&#34;&gt;XPath server&lt;/a&gt; supports this. It accepts a root XPath, and a bunch of sub-XPaths. So you can say something like:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;a href=&#34;https://www.s-anand.net/blog/xpath?url=http://www.imdb.com/chart/top&amp;#038;xpath=//tr//tr//tr[position()&amp;gt;1] title-&amp;gt;./td[3]//a link-&amp;gt;./td[3]//a/@href&#34;&gt;xpath=//tr//tr//tr title-&amp;gt;./td[3]//a link-&amp;gt;./td[3]//a/@href&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This says three things:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;//tr//tr//tr&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Pick all rows in a row in a row&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;title-&gt;./td[3]//a&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;For each row, set the title to the link text in the 3rd column&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;link-&gt;./td[3]//a&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;... and the link to the link href in the 3rd column&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;That provides a more satisfactory RSS feed -- one that I&#39;ve subscribed to, in fact. Another one that I track is a list of &lt;a href=&#34;https://www.s-anand.net/blog/xpath?url=http://www.mininova.org/cat-list/4/seeds/&amp;#038;xpath=//tr/td[2]/a[not(img)] title-&gt;. link-&gt;./@href&#34;&gt;new popular movies&lt;/a&gt; that make it to the &lt;a href=&#34;http://www.mininova.org/cat-list/4/seeds/&#34;&gt;mininova top seeded movies&lt;/a&gt; category.&lt;/p&gt;
&lt;p&gt;You can whiff up more complex examples. Give it a shot. Start simple, with something that works, and move up to what you need. Use &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/1095&#34;&gt;XPath Checker&lt;/a&gt; liberally. Let me know if you have any isses. Enjoy!&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;
&lt;!-- wp-comments-start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mark&lt;/strong&gt; &lt;em&gt;17 Dec 2007 12:00 pm&lt;/em&gt;:
Have you ever thought about introducing authentication to the XPath server? I would like to parse certain fields of a page that is authenticated with cookies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rog&lt;/strong&gt; &lt;em&gt;28 Oct 2008 1:07 am&lt;/em&gt;:
Any chance you could share your xpath.php code? It seems the server is no longer available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S Anand&lt;/strong&gt; &lt;em&gt;28 Oct 2008 1:43 am&lt;/em&gt;:
Sure Rog. I&amp;rsquo;ve mailed it to you&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.s-anand.net/&#34;&gt;S Anand&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;7 Mar 2009 10:35 am&lt;/em&gt;:
Post Yahoo&amp;rsquo;s introduction of &lt;a href=&#34;http://developer.yahoo.com/yql/&#34;&gt;Yahoo Query Language&lt;/a&gt;, you&amp;rsquo;re much better off using that instead of my XPath utility. I&amp;rsquo;ve covered it in this article on &lt;a href=&#34;http://www.s-anand.net/blog/client-side-scraping/&#34;&gt;client side scraping&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://technosiastic.wordpress.com/2009/04/08/scraping-your-way-to-rss-feeds/&#34;&gt;Scraping your way to RSS Feeds! « Technosiastic!&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;8 Apr 2009 10:16 am&lt;/em&gt; &lt;em&gt;(pingback)&lt;/em&gt;:
[&amp;hellip;] another gem I figured which actually lets you run XPath query for scraping into a web page for RSS. It can be [&amp;hellip;]&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bart P&lt;/strong&gt; &lt;em&gt;3 Mar 2012 11:48 am&lt;/em&gt;:
It would be great if you could share this code, I really like to use this server, but want to remove session ids from the links (so my reader doesn&amp;rsquo;t think all links are new every time).
Is that possible? :)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ben&lt;/strong&gt; &lt;em&gt;11 Jun 2015 12:46 am&lt;/em&gt;:
Is that possible to share your xpath.php code? yahoo pipes is going to be shut down :(&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- wp-comments-end --&gt;
</description>
    </item>
    <item>
      <title>Hacking using keyboard whispers</title>
      <link>https://www.s-anand.net/blog/hacking-using-keyboard-whispers/</link>
      <pubDate>Wed, 12 May 2004 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/hacking-using-keyboard-whispers/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s possible to make sense out of &lt;a href=&#34;http://searchsecurity.techtarget.com/originalContent/0,289142,sid14_gci963348,00.html&#34;&gt;keyboard whispers&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
