Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Даром решу, рутиную задачу на питоне.
цитата
05/07/14 в 20:15
 Дартаньян
Из праздного интереса, помогу автоматизировать разной сложности задачи, но могу и отказать.
цитата
05/07/14 в 21:48
 andreich
че мацу все сожрал smail101.gif
цитата
05/07/14 в 23:35
 Дартаньян
andreich: тада, вставило не подецки.
цитата
10/07/14 в 17:18
 Mr. Frod
Интересное предложение smail54.gif
цитата
16/07/14 в 01:01
 AlexN
Задачка:

1. Скрипт берет txt из файла URL. Одна строка - один домен, варианты:
http://domain.com
http://domain.com/
http://domain.com/site/page.php

2. Чекает домен на сайте websitetrafficspy.com. Делается это путем подстановки домена в качестве домена третьего уровня - domain.com.websitetrafficspy.com

3. Парсим со страницы цифру Monthly Users

4. Формируем вывод в txt вида URL_исходный;цифра

Между запросами желательно делать рандом задержку 0-3 секунды.

Вроде, не сложно icon_cool.gif
цитата
16/07/14 в 11:17
 Дартаньян
AlexN:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from urlparse import urlparse
from random import randint
import sys, urllib2, re, time

def getData(nfile):

   with open("true.txt", 'w') as wfile:
      for url in open(nfile, 'r'):

         try:
            headers = {'User-Agent' : 'Mozilla/4.0 (compatible  MSIE 7.0  Windows NT 6.0  SLCC1  .NET CLR 2.0.50727  Media Center PC 5.0  .NET CLR 3.0.30618  .NET CLR 3.5.30729  AskTbFXTV5/5.12.2.16749)'}
            req = urllib2.Request('http://'+urlparse(url.strip()).netloc + '.websitetrafficspy.com/', None, headers)
            data = urllib2.urlopen(req).read()
   
            wfile.write(re.findall('<td>\n(.*)<span class="delta">', data)[1]  + ";;"+url.strip()+"\n")

            del(data)
            #time.sleep(randint(0,8))
            wfile.flush()
         except KeyboardInterrupt:
            sys.exit('exit!')

         except Exception as e:
            print(str(e)+";;"+url.strip())


   return 'Finish!'
      
if __name__ == '__main__':
   print(getData(sys.argv[1]))
цитата
17/07/14 в 21:42
 AlexN
Все работает, благодарю!
цитата
21/10/14 в 19:37
 Дартаньян
Ап


Эта страница в полной версии