<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: requests</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/requests.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2018-02-25T16:49:19+00:00</updated><author><name>Simon Willison</name></author><entry><title>kennethreitz/requests-html: HTML Parsing for Humans™</title><link href="https://simonwillison.net/2018/Feb/25/requests-html/#atom-tag" rel="alternate"/><published>2018-02-25T16:49:19+00:00</published><updated>2018-02-25T16:49:19+00:00</updated><id>https://simonwillison.net/2018/Feb/25/requests-html/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/kennethreitz/requests-html"&gt;kennethreitz/requests-html: HTML Parsing for Humans™&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Neat and tiny wrapper around requests, lxml and html2text that provides a Kenneth Reitz grade API design for intuitively fetching and scraping web pages. The inclusion of html2text means you can use a CSS selector to select a specific HTML element and then convert that to the equivalent markdown in a one-liner.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/kennethreitz/status/967749676312211456"&gt;@kennethreitz&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/html"&gt;html&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/requests"&gt;requests&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scraping"&gt;scraping&lt;/a&gt;&lt;/p&gt;



</summary><category term="html"/><category term="python"/><category term="requests"/><category term="scraping"/></entry><entry><title>Enough Already with the Connections!</title><link href="https://simonwillison.net/2008/Jun/30/comet/#atom-tag" rel="alternate"/><published>2008-06-30T09:27:52+00:00</published><updated>2008-06-30T09:27:52+00:00</updated><id>https://simonwillison.net/2008/Jun/30/comet/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://cometdaily.com/2008/06/30/enough-already-with-the-connections/"&gt;Enough Already with the Connections!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Comet doesn’t mean making long-lived HTTP  connections (which most browsers do anyway thanks to HTTP keep-alive), it means making long-held HTTP requests. I’m guilty of spreading this misinformation in the past.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/comet"&gt;comet&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/connections"&gt;connections&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/correction"&gt;correction&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http"&gt;http&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/keepalive"&gt;keepalive&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/requests"&gt;requests&lt;/a&gt;&lt;/p&gt;



</summary><category term="comet"/><category term="connections"/><category term="correction"/><category term="http"/><category term="keepalive"/><category term="requests"/></entry></feed>