Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 11, 2014 00:13:34

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

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

#!/usr/bin/python
# -*- coding: utf-8 -*-
from grab import Grab
import re
def google(name):
    g = Grab()
    host = 'http://google.ru/search?q=' + '%22' + name.replace(' ', '+') + '%22+' + '&sourceid=chrome&es_sm=93&ie=UTF-8'
    try:
        g.go(host)
    except:
        return None
    string = g.response.body
    parser = '<div id="resultStats">.* (.*?)<nobr>'
    resultat_search_len = re.findall(parser, string)
    if resultat_search_len != []:
        resultat_search_len = resultat_search_len[0].replace("\xc2\xa0","")
        return resultat_search_len
    else:
        return None
print google('python cisco')
Результатов: примерно 3 610

Спасибо, что уделили моему вопросу своё время.

Офлайн

#2 Окт. 11, 2014 04:03:20

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

как вариант , чтоб затыков на капче не было , при каждом новом переходе проверяй наличие капчи и если таковая встречается выдавай её на экран или отправляй в антикапчу.

Офлайн

#3 Окт. 11, 2014 04:10:35

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

как вариант попробуй http://sourceforge.net/p/zbrowsernight/discussion/markdown_syntax или качественно обрабатывай результаты grab, liburl итд

Офлайн

#4 Окт. 11, 2014 13:06:21

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

Спасибо, за ответ. Мне не количество посчитать найденных урлов нужно, а лишь получить число что находится под строкой поиска.
+ в скрипте капча есть, а в браузере её нет, чтобы регуляркой её перехватить и антикапче передать.
Есть ещё идеи или механизмы, чтобы посчитали мне количество найденных страниц?
Слов примерно 1000-1500 в сутки и нужно найти их количество найденных страниц.

Офлайн

#5 Окт. 11, 2014 16:04:33

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

Могу подсказать, что надо смотреть на response.code. Если 503 - это капча
Делал на заказ недавно подобное приложение

Офлайн

#6 Окт. 11, 2014 17:45:55

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

еще чтоб меньше проблем было , используй логин разработчика гугл при входе. он тоже капчи выбрасывает , только не так часто.

Офлайн

#7 Окт. 11, 2014 18:10:18

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

и раз уж юзать граб, то лучше так

#!/usr/bin/python
# -*- coding: utf-8 -*-
from grab import Grab
def google(name):
    g = Grab()
    host = 'https://www.google.com/search?q=%s' % name.replace(' ', '+')
    try:
        g.go(host)
        return g.doc.select('//*[@id="resultStats"]').text().replace(',','')
    except:
        return None
print(google('python cisco'))
About 1850000 results (0.13 seconds)

Если запросы подразумевают кириллицу - quote из urllib

Отредактировано bs0d (Окт. 11, 2014 18:11:21)

Офлайн

#8 Окт. 11, 2014 21:28:23

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

bs0d
Могу подсказать, что надо смотреть на response.code. Если 503 - это капчаДелал на заказ недавно подобное приложение
И как капчу обходить? Антикапча, прокси?

Офлайн

#9 Окт. 11, 2014 21:30:11

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

sypper-pit
еще чтоб меньше проблем было , используй логин разработчика гугл при входе. он тоже капчи выбрасывает , только не так часто.
То есть логиниться перед стартом? Что значит логин разработчика и как повысить уровень обычной учётки до уровня логин разработчика?

Всем спасибо за помощь.

Офлайн

#10 Окт. 11, 2014 21:51:41

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Результат поиска количества страниц в Google

Что значит логин разработчика и как повысить уровень обычной учётки до уровня логин разработчика
Степень траста гугла при серч квери - одинаковая для всех.
С проксями будет та же беда, посему только антикапча.
Капчу будет показывать не при каждом запросе, посему затраты при 2000запросах в сутки - будут минимальными.
ИП забанить не должны, но на всякий случай делай какой-нибудь делей между запросами

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version