[Python] вопрос/ответ.

Discussion in 'Python' started by De-visible, 21 Jan 2009.

  1. daniel_1024

    daniel_1024 Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    260
    Likes Received:
    227
    Reputations:
    386
    login999 подскажи пожалуйста что надо с pyCURL делать ? как подключить ? скачал я из инета набор файлов отсюда , что дальше?! :)
     
  2. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    Так же гугл отбрасывает сторонние юсерагенты.
    Гугл в помощь =) Какая версия питона? а так http://python.su/forum/viewtopic.php?id=3985
     
  3. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Уважаемый, учите матчасть :)
    Тот сплойт что на секлабе запускает собственный веб-сервер.
    Код не смотрел, так что по этому поводу не скажу ничего.
    Ставишь питон с python.org.
    Потом тупо запускаешь скрипт(двойной щелчок) должно запуститься консольное окошко.
    После этого заходишь через браузер на локалхост.
    Дальше, я думаю, все понятно :)
     
  4. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    По поводу pyCURL то насколько я помню, официально под вынь не поддерживается. Недавно, кстати товарищ поднимал этот вопрос на ачате (не помню уже кто). Так что установка pyCURL под вынь - занятное и нетривиальное дело :).
    Короче, не хотелось бы обсырать чужой код, но приведенный выше "парсер" - это кусок гуано, причем самого мерзкого пошиба. Я тебе такой за полторы минуты нацарапаю. Если проснусь завтра с у тра (или уже сегодня =\) - то выделю десять минут и нацарапаю какашку по типу той что приведена выше, но без pyCURL...
     
  5. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Code:
    #!/usr/bin/env python
    #-*-encoding:UTF-8-*-
    
    import re
    import urllib2
    import time
    
    HEADERS = {
               "User-Agent" : "Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1",
               "Accept" : "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1",
               "Accept-Language" : "ru,uk-UA;q=0.9,uk;q=0.8,en;q=0.7",
               "Accept-Charset" : "iso-8859-1, utf-8, utf-16, *;q=0.1",
               "Accept-Encoding" : "identity, *;q=0",
               "Connection" : "Keep-Alive"
              }
    
    
    def curl_url_get(url):
        request = urllib2.Request(url, headers=HEADERS)
        data = urllib2.urlopen(request).read()
        return data
    
    dork = 'inurl:page_id+"Gallery+powered+by+fMoblog"'
    page = 10
    reg = 'class=r»«a href="([^"&]*)'
    print "# start"
    print "# dork:" + dork
    print "# all page: " + str(page)
    fo = open('google.txt','w')
    print "# google.txt open"
    for i in xrange(0,page):
        url = "http://www.google.com/search?q="+dork+"&start=" + str(i*10)
        rez = curl_url_get(url)
        rez = re.findall(reg,rez)
        for item in rez:
            fo.write(item+"\n")
        print "# page "+str(i+1)+" done"
        time.sleep(2)
    fo.close
    print '# all done'
    
    Кому там нужен типа гуглопарсер.
    Из того парсера просто убрал pyCURL, не более того.
    То что он ничего не находит это не значит, что я там чего-то накосячил.
    Регулярка там кривая нах =\.
    P.S. Под Python 2.6
     
    #525 login999, 27 Jan 2010
    Last edited: 27 Jan 2010
  6. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    login999

    https://forum.antichat.ru/showthread.php?p=1838949#post1838949

    http://docs.python.org/library/json.html
     
    #526 Solker, 27 Jan 2010
    Last edited: 27 Jan 2010
    1 person likes this.
  7. taxpayer

    taxpayer Member

    Joined:
    17 Jan 2010
    Messages:
    31
    Likes Received:
    7
    Reputations:
    3
    daniel_1024:
    Инсталлеры с офф паг, не со сторонних ресурсов

    Чесно говоря, не вижу смысла использовать для доркера пикурл, если в задачу не входит использование соксов, вполне хватит стандартных либ
     
  8. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    ...
     
  9. CyberHunter

    CyberHunter Active Member

    Joined:
    6 Jan 2010
    Messages:
    601
    Likes Received:
    116
    Reputations:
    37
    Скажите что случилось? Раньше все программы мог запустить, а сейчас - в консоли пишу все как раньше, пишет неверный путь. Путь введен верно 100%. В чем может быть проблема? Переустановил интерпретатор в стандартную директорию, не помогло. Хз что случилось...
     
  10. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Скриншот/трейсбек ф студию :)
     
  11. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    +5 и с новой авой =)
     
    1 person likes this.
  12. CyberHunter

    CyberHunter Active Member

    Joined:
    6 Jan 2010
    Messages:
    601
    Likes Received:
    116
    Reputations:
    37
    Уже все пашет)
    Вот другой вопрос:
    Есть код типа:
    Code:
    if x == 5:
    	print("asdf"),
    elif x<5:
        print("asddddf"),
    elif x>5:
        print("aaaaaa")
    
    как сделать так чтобы при каждом запуске надо вводить значение х?
     
  13. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Бить по рукам за input()
    Нужно юзать raw_input().
    Это в тройке только сделали input = raw_input()
    При input() выражение прогоняется через eval() что есть некошерно. Естественно, это не относится к тройке.
    П.С. Читайте учебник - там всё это есть...
     
  14. 043nKRuT0y

    043nKRuT0y Elder - Старейшина

    Joined:
    31 Oct 2007
    Messages:
    226
    Likes Received:
    8
    Reputations:
    0
    Всем привет ! Пробовал я потестить Google App Engine - поставил я SDK - установка прошла нормально , но вот создал я значит простое приложение , пишу в консоле
    Code:
    dev_appserver.py testpr
    - и обламываюсь , никакой сервер не стартует, пытаясь потом запустить приложение через иконку получаю в ответ
    Code:
    See the logfile 'C:\Program Files\Google_appengine\launcher\GoogleAppEngineLauncher.exe.log' for details
    Как решить проблему , и как собственно заставить данный тестовый сервер работать !?
     
    #534 043nKRuT0y, 30 Jan 2010
    Last edited: 30 Jan 2010
  15. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    В лог файл не судьба посмотреть в чем причина проблемы?
     
  16. CyberHunter

    CyberHunter Active Member

    Joined:
    6 Jan 2010
    Messages:
    601
    Likes Received:
    116
    Reputations:
    37
    Читал, но не понял!
    Вот вопрос:
    Какой должен быть код?
    Code:
    x = raw_input()
    if x == 5:
    	print("asdf"),
    elif x<5:
        print("asddddf"),
    elif x>5:
        print("aaaaaa")
    
    Так не пашет.
    А если :
    Code:
    x = input("X=")
    if x == 5:
    	print("asdf"),
    elif x<5:
        print("asddddf"),
    elif x>5:
        print("aaaaaa")
    
    
    то появляется "х=", ввожу число, и ошибка. Как я понял нужно ввести тип данных, но когда ввожу itn("x"), не пашет. Напишите всю прогу если не трудно.
     
    #536 CyberHunter, 30 Jan 2010
    Last edited: 30 Jan 2010
  17. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Почитай на википедии учебник - он информативнее :)
     
  18. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Code:
    x = int(raw_input())
    if x == 5:
    	print("asdf"),
    elif x<5:
        print("asddddf"),
    elif x>5:
        print("aaaaaa")
    
    У питона динамическая строгая типизация в отличие от пхп, где динамическая слабая типизация. Поэтому сравнивать тип инт и тип стр это плохая идея...
     
    1 person likes this.
  19. CyberHunter

    CyberHunter Active Member

    Joined:
    6 Jan 2010
    Messages:
    601
    Likes Received:
    116
    Reputations:
    37
    Хм... В книге которую я читаю их постоянно сравнивают.
     
  20. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Если в этой книге использется input() то тогда это возможно, так как после eval() полученные данные из "5" превращаются в 5.