Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 6, 2013 08:27:16

spirAde
Зарегистрирован: 2013-08-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по чистке cookies

Всем доброго времени суток! Столкнулся с проблемой при написании автокликера.
Есть сайт с установленной яндекс метрикой. Вот код, который подменяет user_agent, referrer, ip:port. И совсем этим открывает некий сайт something.ru.

#!/usr/bin/python
import urllib2
import urllib
import sys
import time
import random
import re
import os
proxylisttext = "proxylist.txt" #ip:port
#list of user_agent
useragent = ['Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.10 sun4u; X11)',
			'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.2pre) Gecko/20100207 Ubuntu/9.04 (jaunty) Namoroka/3.6.2pre',
			'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser;',
			'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)',
			'Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)',
			'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6)',
			'Microsoft Internet Explorer/4.0b1 (Windows 95)',
			'Opera/8.00 (Windows NT 5.1; U; en)',
			'amaya/9.51 libwww/5.4.0',
			'Mozilla/4.0 (compatible; MSIE 5.0; AOL 4.0; Windows 95; c_athome)',
			'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)',
			'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
			'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ZoomSpider.net bot; .NET CLR 1.1.4322)',
			'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0 qihoobot@qihoo.net)',
			'Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11 [en]']
#list http-referrer
referer = ['http://google.com', 'http://bing.com', 'http://facebook.com', 'http://twitter.com']
#you wanted link
link_invation= 'http://something.ru/'
def Autoclicker(proxy1):
    try:
		proxy = proxy1.split(":")
		print 'Auto Click Using proxy :',proxy1
		proxy_set = urllib2.ProxyHandler({"http" : "%s:%d" % (proxy[0], int(proxy[1]))})
		opener = urllib2.build_opener(proxy_set, urllib2.HTTPHandler)
		opener.addheaders = [('User-agent', random.choice(useragent)),
							('Referer', random.choice(referer))]
		urllib2.install_opener(opener)
		f = urllib2.urlopen(link_invation)
		if "something.ru" in f.read(): 
		   print "[*] Link was clicked..."
		else:
		   print "[*] Link was not clicked !"
		   print "[!] Proxy failed"
    except:
        print "[!] Proxy Error "
        pass
def loadproxy():
    try:
		get_file = open(proxylisttext, "r")
		proxylist = get_file.readlines()
		count = 0
		proxy = []
		while count < len(proxylist):
			proxy.append(proxylist[count].strip())
			count += 1
		for i in proxy:
			Autoclicker(i)
    except IOError:
		print "\n[-] Error: Check your proxylist path\n"
		sys.exit(1)
def main():
   loadproxy()
if __name__ == '__main__':
    main()
Проблема в том, что прокси перебирается(какие-то работают, какие-то нет - все как положено). Но количество уникальных юзеров в метрике не растет. Причем, если настроить тот же clickermann, с чисткой кук и этими же прокси то все работает.

Вопрос: Нужно ли включать чистку кук в коде? смущает то, что я не в браузере открываю сайт(зачем чистить куки). Если все же это нужно, то подскажите как… Гуглил, все что нашел не прокатило. Или может вы подскажите более изящное решение данной проблемы…

Заранее спасибо!

Отредактировано spirAde (Авг. 6, 2013 08:27:57)

Офлайн

#2 Авг. 6, 2013 09:10:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Вопрос по чистке cookies

а где там обработка cookies вообще ?



Офлайн

#3 Авг. 6, 2013 09:20:13

spirAde
Зарегистрирован: 2013-08-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по чистке cookies

Она и не сделана, ибо я не догоню, как вообще это сделать… Я даже не уверен в том, что она нужна… Два дня уже брожу по инету, но так ни к чему и не пришел… поэтому уже решил на форуме спросить…

Офлайн

#4 Авг. 6, 2013 11:03:26

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Вопрос по чистке cookies

spirAde
Она и не сделана, ибо я не догоню, как вообще это сделать
при построении opener'а туда нужно передать обработчик cookies
и он, по идее, через него будет обмен печеньем проводить
python.org. HTTPCookieProcessor



Офлайн

#5 Авг. 6, 2013 11:46:41

spirAde
Зарегистрирован: 2013-08-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по чистке cookies

То есть вот такое изменение:

        cj = cookielib.CookieJar()
        opener = urllib2.build_opener(proxy_set, urllib2.HTTPHandler, urllib2.HTTPCookieProcessor(cj))
	opener.addheaders = [('User-agent', random.choice(useragent)), ('Referer', random.choice(referer))]
	urllib2.install_opener(opener)
	f = urllib2.urlopen(link_invation)
	if "something.ru" in f.read(): 
	        print "[*] Link was clicked..."
	else:
		print "[*] Link was not clicked !"
		print "[!] Proxy failed"
        cj.clear_session_cookies()

Будет использовать куки при запросе, и потом их вычищать?
Удаление куков просто в таком случае является основным моментом, ибо метрика заметит по кукам, что не уникальный пользователь и просто не увеличит счетчик.

Отредактировано spirAde (Авг. 6, 2013 11:49:49)

Офлайн

#6 Авг. 6, 2013 22:13:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Вопрос по чистке cookies

spirAde
Будет использовать куки при запросе, и потом их вычищать?
cookies устанавливает сервер, ты их сохраняешь и при следующем запросе устанавливаешь
так сервер узнаёт, что ты - это ты
каждый раз (при запуске кода) cookies будут создаваться заново

а в браузерах они сохраняются на диск и используются (устанавливаются в запросах для сервера) при других запусках браузера, поэтому там надо их удалять с диска



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version