|
|
#1 |
|
Junior Member
![]() Posts: 1
Karma: 10
Join Date: Dec 2010
Device: marcus.klemm@googlemail.com
|
Instapaper.com: Archive downloaded articles
Hi,
Is it possible to modify the Instapaper.com recipe so that successfully downloaded articles are moved to Instapaper's archive, automatically? Unfortunately, I only have very basic programming skills and never used python, before. Nonetheless, I tried to do the following: Code:
def parse_index(self):
totalfeeds = []
lfeeds = self.get_feeds()
for feedobj in lfeeds:
feedtitle, feedurl = feedobj
self.report_progress(0, _('Fetching feed')+' %s...'%(feedtitle if feedtitle else feedurl))
articles = []
soup = self.index_to_soup(feedurl)
for item in soup.findAll('div', attrs={'class':'titleRow'}):
description = self.tag_to_string(item.div)
atag = item.a
if atag and atag.has_key('href'):
url = atag['href']
title = self.tag_to_string(atag)
date = strftime(self.timefmt)
articles.append({
'title' :title
,'date' :date
,'url' :url
,'description':description
})
totalfeeds.append((feedtitle, articles))
for item in soup.findAll('a', attrs={'class':'archiveButton'}): // Get all links with class "archiveButton"
skipurl = item['href'] // get the repective URLs
self.index_to_soup(skipurl) // 'click' on them
return totalfeeds
|
|
|
|
|
|
#2 |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
|
It looks like you want to click on a link on a page. Typically that's done by setting up a browser (br), opening the page (url), finding the link on that page with a regex (url_regex) and using follow_link:
Code:
br = self.get_browser()
br.open(url)
response = br.follow_link(url_regex='some_regex)', nr = 0)
|
|
|
|
| Advert | |
|
|
|
|
#3 |
|
Member
![]() Posts: 24
Karma: 10
Join Date: May 2007
Device: PRS-505
|
The following is a python script I wrote to download instapaper articles with the Calibre recipe, save them as an epub, and then archive all instapaper articles so that it won't keep re-downloading the same ones.
There is probably a simpler way to do this, but I am a Python novice, and learned just enough to get it to work. You will need to have urllib and urllib2 libraries installed in Python for this to work. You will also need to change the username/password and form_key fields to your own. I also have the windows path to Calibre hard-coded in the script--change it if Calibre is in a different directory for you. Code:
import datetime, subprocess
from urllib import urlencode
import urllib2
myUsername = "youremail@yourprovidor.com"
myPassword = "yourpass"
myForm_Key = "8IL7UWrLhP3l2fmD2SZg" #Unique value probably linked to username/pass -- you must change this
#You get myForm_Key by logging in to Instapaper one time, looking at the
#source of the HTML page, finding the form_key value, and pasting it here.
#Maybe if people find this script useful I will have it automate the task.
#construct a windows command-line command to use Calibre with Instapaper
todayDate = datetime.date.today().isoformat()
myFilename = 'Instapaper ' + todayDate + '.epub'
params2 = urlencode(dict(form_key=myForm_Key, submit="Archive All"))
mySystemCommand = 'C:\Program Files\calibre2\ebook-convert Instapaper.com.recipe "' + myFilename + '" --username ' + myUsername + ' --password ' + myPassword
#execute Calibre command
ret = subprocess.call(mySystemCommand)
#login to Instapaper so that downloaded archives can now be archived
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
params = urlencode(dict(username=myUsername, password=myPassword))
f = opener.open('http://www.instapaper.com/user/login', params)
data = f.read()
f.close()
#archive all articles in unread folder
f=opener.open("http://www.instapaper.com/bulk-archive", params2)
data2=f.read()
f.close()
|
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Calibre + Instapaper not downloading all articles! | Maxiboost | Recipes | 34 | 08-02-2011 09:03 AM |
| Troubleshooting Instapaper -- I think I've tried EVERYTHING | Timmy_B | Amazon Kindle | 9 | 01-22-2011 11:35 AM |
| Syncing your Instapaper articles to your Kindle | Jeton | Amazon Kindle | 0 | 10-08-2010 04:28 AM |
| Calibre, Instapaper, multipage articles and ordering | flyash | Calibre | 1 | 06-10-2010 08:03 PM |
| Is There A Way To Archive Books Downloaded | Barry8416 | Sony Reader | 10 | 08-19-2009 02:41 PM |