Skip to content

Instantly share code, notes, and snippets.

@derand
Last active February 1, 2017 12:24
Show Gist options
  • Save derand/49542e99a061875f8741f2497a11a537 to your computer and use it in GitHub Desktop.
Save derand/49542e99a061875f8741f2497a11a537 to your computer and use it in GitHub Desktop.
Скачивание архива доски /n сайта iichan.hk по годам

Python-скрипт делает именно то, что сказано в названии этой gist.

Для работы скачиваем "dwnldr.py" устанавливаем зависимости из "requirements.txt" (рекомендую pip в virtualenv) и запускаем dwnldr.py с параметром <последние две цифры года> который хотим скачать. В папке скрипта создатся дириктория с годом, в который будет скачиваться все картинки из архива /n за указаный год.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import lxml.html
import urlparse
import requests
import os, sys
if __name__=='__main__':
script_path = os.path.dirname(os.path.realpath(__file__))
os.chdir(script_path)
if len(sys.argv) < 2:
print 'Need year(YY) param.'
print ' example: dwnld.py 17'
exit(1)
year = sys.argv[1]
if not os.path.exists(year):
os.makedirs(year)
url = 'http://iichan.hk/n/prev/%s/'%year
r = requests.get(url)
html_data = r.content
#/html/body/table/tbody/tr[5]/td[2]/a
doc = lxml.html.document_fromstring(html_data)
table = doc.xpath('/html/body/table/tr')
if len(table)>2:
table = table[3:]
for el in table:
img = el.xpath('td[2]/a')
if img:
fullurl = urlparse.urljoin(url, img[0].get('href'))
print fullurl
r = requests.get(fullurl, stream=True)
if r.status_code == 200:
with open('%s/%s'%(year, img[0].get('href')), 'wb') as f:
for chunk in r.iter_content(1024*10):
f.write(chunk)
lxml==3.7.2
requests==2.13.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment