Найти - Пользователи
Полная версия: Вопрос по чистке cookies
Начало » Python для новичков » Вопрос по чистке cookies
1
spirAde
Всем доброго времени суток! Столкнулся с проблемой при написании автокликера.
Есть сайт с установленной яндекс метрикой. Вот код, который подменяет 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, с чисткой кук и этими же прокси то все работает.

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

Заранее спасибо!
py.user.next
а где там обработка cookies вообще ?
spirAde
Она и не сделана, ибо я не догоню, как вообще это сделать… Я даже не уверен в том, что она нужна… Два дня уже брожу по инету, но так ни к чему и не пришел… поэтому уже решил на форуме спросить…
py.user.next
spirAde
Она и не сделана, ибо я не догоню, как вообще это сделать
при построении opener'а туда нужно передать обработчик cookies
и он, по идее, через него будет обмен печеньем проводить
python.org. HTTPCookieProcessor
spirAde
То есть вот такое изменение:

        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()

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

а в браузерах они сохраняются на диск и используются (устанавливаются в запросах для сервера) при других запусках браузера, поэтому там надо их удалять с диска
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB