# -*- coding: utf-8 -*- from grab import Grab import sqlite3 g=Grab(log_file='out.html') pages=['bash.im/quote/'+str(x) for x in range(1,31)] bd_connect=sqlite3.connect('bash_im.db') bd_connect.execute('''CREATE TABLE bash_im (quote text, url text)''') def getQuote(quote_url): g.go(quote_url) return g.xpath_text('//div[@class="text"]') for page in pages: quote=[] quote.append(getQuote(page)) quote.append(page) bd_connect.execute('INSERT INTO bash_im VALUES (?,?)',quote) bd_connect.commit()
Скрипт нормально стягивает первую цитату, а вместо остальных цитат последнюю.
т.е. в базе получается что-то такое: http://pastebin.com/5VSJkZyJ
/" префикса, то граб считает их относительными адресами, поэтому после первого запроса к bash.im/quote/1, далее он сделал запрос к bash.im/quote/bash.im/quote/2 и так далее.