Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 7, 2012 22:25:46

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг цифр из title

Столкнулся с проблемой… Я пишу скрипт, который открывает поиск яндекса с определенным запросом, после открытия я просто копирую цифры из title. Но тут ко мне пришла капча(вроде) и ничего не работает. Как это можно исправить? Пожалуйста помогите!
Вот скрипт:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib, urllib2, re

yapages = urllib2.Request('http://m.yandex.ru/')
yapages = urllib2.urlopen(yapages)
yapages_cookie = unicode(yapages.headers['Set-Cookie'], 'utf-8')
yapages_cookie = re.findall('yandexuid=(.*?);', yapages_cookie)
yapages_cookie = yapages_cookie[0]

url = 'http://yandex.ru'
url = url.replace("http://","")
url = url.replace("/","")

yapages = urllib2.Request('http://m.yandex.ru/msearch?text=host:'+str(url)+'+|+host:www.'+str(url)+'&lr=42')
yapages.add_header("Accept", 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')
yapages.add_header('Accept-Charset', 'utf-8;q=0.7,*;q=0.7')
yapages.add_header('Accept-Encoding', '')
yapages.add_header('Accept-Language', 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3')
yapages.add_header('Connection', 'keep-alive')
yapages.add_header('Cookie', 'yandexuid='+str(yapages_cookie)+';')
yapages.add_header('Referer', 'http://google.com/')
yapages.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 YB/6.5.1')
yapages = urllib2.urlopen(yapages).read()

#yapages = urllib.urlopen('http://yandex.ru/yandsearch?text=host:'+str(url)+'+|+host:www.'+str(url)+'&lr=42').read()
yapages = yapages.replace("\n","")
yapages = yapages.replace("\r","")

yapages = re.findall('<title>(.*?)</title>', yapages)
yapages = str(yapages[0]).decode('utf-8')
yapages = yapages.replace('&nbsp;млн'.decode('utf-8'),'000000')
yapages = yapages.replace('&nbsp;тыс.'.decode('utf-8'),'000')
yapages = yapages.replace('&nbsp;','')
print yapages



Офлайн

#2 Янв. 8, 2012 12:27:11

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Парсинг цифр из title

Используйте прокси сервера. Лучше платные.

Офлайн

#3 Янв. 8, 2012 14:39:20

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Парсинг цифр из title

> Лучше платные.
Почему?

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

Офлайн

#4 Янв. 9, 2012 11:14:10

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг цифр из title

lorien
Grab - библиотека для написания парсеров веб-сайтов bitbucket.org/lorien/grab
Нет, у меня обычный хостинг, а там не поддерживается установка дополнений.



Офлайн

#5 Янв. 10, 2012 14:27:41

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Парсинг цифр из title

Платные лучше потому, что они просто работают, без всяких там рейтингов :) И цены на них смешные, например, 12$ в месяц за 150 прокси, которые всегда работают. Да можно искать бесплатные списки проксей, фильтровать их, рейтинги вычислять. Только стоит ли овчинка выделки?

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

Пардон, это просто подпись.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version