Форум сайта python.su
0
Доброго времени суток. Объясните пожалуйста где ошибаюсь.
# -*- coding: utf-8 -*- from grab import Grab import time, random g = Grab() g.setup(hammer_mode=True, hammer_timeouts=((2, 5), (10, 15), (20, 30))) a = 4 i = 0 while a < 650: g.go('http://www.anekdotov-mnogo.ru/smeshnie_kartinki.php?page='+str(a), log_file='outpage.html') time.sleep(2) print 'page-' + str(a) for elem in g.doc.select("html/body/table/tbody/tr/td/div/p/img")[0:15]: img = elem.attr('src') print img g.go('http://www.anekdotov-mnogo.ru/' + str(img)) rand = random.randint(0, 9999) f = open("/home/montana/biz/python/tools/fotostrana/parser/umor/18.12.2014/" + str(rand)+ '-' + str(i) +".jpg", "wb") #print '%s' % (elem.attr('src')) f.write(img) f.close() print 'foto-'+str(i) i = i + 1 time.sleep(2) a = a+1
# -*- coding: utf-8 -*- import requests from lxml import html import sys import urlparse a = 4 while a < 650: print 'page-'+str(a) response = requests.get('http://www.anekdotov-mnogo.ru/smeshnie_kartinki.php?page='+str(a)) parsed_body = html.fromstring(response.text) # Парсим ссылки с картинками images = parsed_body.xpath('html/body/table/tbody/tr/td/div/p/img@src') if not images: sys.exit("Found No Images") # Конвертирование всех относительных ссылок в абсолютные images = [urlparse.urljoin(response.url, url) for url in images] print 'Found %s images' % len(images) # Скачиваем только первые 10 for url in images[0:15]: r = requests.get(url) f = open('/home/montana/biz/python/tools/fotostrana/parser/umor/18.12.2014/%s' % url.split('/')[-1], 'w') f.write(r.content) f.close() a = a + 1
Отредактировано Notan1310 (Дек. 18, 2014 07:04:53)
Офлайн
13
from grab import Grab def main(): g = Grab() g.setup(hammer_mode=True, hammer_timeouts=((2, 5), (10, 15), (20, 30))) a = 4 i = 0 while a < 650: g.go('http://www.anekdotov-mnogo.ru/smeshnie_kartinki.php?page=%s' % a) print ('page-%d' % a) for elem in g.doc.select('//div[@class="line_old_content"]/p/img/@src'): img_url = 'http://www.anekdotov-mnogo.ru%s' % elem.text().lstrip('.') g.go(img_url) g.response.save('%d.jpg' % i) print ('foto-%d' % i) i += 1 a += 1 if __name__ == '__main__': main()
Отредактировано Alex_HH (Дек. 18, 2014 17:36:39)
Офлайн
0
Спасибо!!! Объемный ответ! Иной раз делаешь для себя, работает и ладно поэтому времени на качество кода и качество знаний не уделяешь.
Офлайн