Скрипт Python для загрузки всех веб -комиксов CTRL+Alt+Del? [закрыто

StackOverflow https://stackoverflow.com/questions/1183111

  •  19-09-2019
  •  | 
  •  

Вопрос

У кого -нибудь есть? Я попробовал ComicDownloader, но это позволяет мне скачать новейший комикс, и я недостаточно хорошо понимаю Python, чтобы выяснить, как его изменить, чтобы загрузить все комиксы

Это было полезно?

Решение

Ну, это не Python, и метод тоже не очень элегантен, но он будет работать.

После краткого осмотра Ctrl+Alt+Del Archive сайт Я обнаружил, что все комиксы хранятся в / comics / как файлы JPG.

С этим предположением запустить следующую команду в оболочке на машине *NIX загрузит все комиксы. Имена файлов, очевидно, даты в формате yyyymmdd.

$ for filename in $(seq 20020101 20090726); do wget http://www.ctrlaltdel-online.com/comics/"$filename".jpg; done

О, и это может занять некоторое время :).

Другие советы

Ну, есть несколько подходов. Вы можете посмотреть на URL -адреса самих комических изображений, чтобы увидеть, следуют ли они с шаблоном, написать небольшой сценарий для генерации URL -адресов, которые соответствуют шаблону, и просто использовать WGET или что -то похожее на их загрузку. Чтобы узнать необходимый Python, я рекомендую Учебник Python. Анкет Посмотрите конкретно на способы сочетания строк, форматирования строк, строковых операций, чтобы вы могли создавать свои URL -адреса из строк компонентов, чисел и т. Д. Этот вид проекта может быть хорошим оправданием для изучения Python, который, вероятно, поможет вам с другими вещами в будущем. (И это весело!)

В качестве альтернативы, я полагаю, что люди делали это раньше - почти наверняка есть приложения, которые делают то, что вы хотите, учитывая URL -адреса изображений, или просто шаблон URL. Осмотреться.

Вы можете написать автору комикса и спросить, как -то доступны ли они оптом, возможно, для покупки, возможно, в качестве книги. Я полагаю, что Ctrl-Alt-Del достаточно популярен, чтобы просто поглотить дополнительную нагрузку, когда вы загружаете весь архив, но небольшие сайты могут не оценить его-хотя я не думаю, что они действительно могут остановить вас или что-то еще.

Что касается вашего вопроса, этот сайт должен помочь вам с вашими вопросами по программированию, помогите вам с проблемами, которые у вас есть, подталкивать вас по пути, но в основном люди не ценят это, если вы попросите их просто написать ваш код для вас. Узнайте немного питона, попробуйте сами, если вы столкнетесь с любыми проблемами, спросите тогда.

Я использую Urllib с модифицированным пользовательским агентом (так как Тимми заблокировал оригинал) и BeautifulSoup. В любом случае, вот генератор даты:

t1 = datetime.date(2002, 10, 22)
t2 = datetime.date.today()
while t2 > t1:
    t1 = t1 + datetime.date.resolution
    toon = t1.strftime("%Y%m%d")
    url1 = str(toon)
    main(url1)

И мой main (): Похоже, это (ушел, если бы файл существует »)

def main(url):
    con = httplib.HTTPConnection("www.cad-comic.com")
    con.request("GET", "/cad/" + url)
    r1 = con.getresponse()
    soup = BeautifulSoup(r1)
    img = soup.findAll("img")[1]
    nImg = str(img)
    imgSplit = re.split('"', nImg)
    imgUrl = imgSplit[1]
    if imgUrl.startswith('http://www.cad-comic.com/comics/'):
        MeOpans().retrieve(imgUrl, url + ".jpg")
        print "Downloaded " + url

"Meopans ()" выглядит так:

class MeOpans(urllib.URLopener):
    version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top