2016-10-20 5 views
0

У меня возникли проблемы Скремблирование имен игр с веб-страницы .. Он возвращает пустой массив. Как только имя очищено, я хочу, чтобы оно было записано во вновь созданный текстовый файл. Мой код должен быть ниже .. его нигде рядом полным, но я уверен, я буду нуждаться условием While ..Python: Scrape Имена игр

def ScrapeK10(): 
siteToScrape = 'http://www.kiz10.com/new-games' 
print '\n[!] Requesting Kiz10..' 
kizReq = requests.get(siteToScrape) 
print '\n[!] Scraping Newest Games...' 
kizTree - html.fromstring(kizReq.content) 
kizElement = kizTree.xpath('//strong[@class="bx-caption"]/text()') 
print 'Latest Games : ', kizElement, '\n' 
return 

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

Еще немного новичок в этом .. не хотите использовать Beautiful Soup и я не хочу использовать Scapy ..

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

+0

Пожалуйста, включите любые модули, которые вы используете. –

ответ

0

Можете ли вы использовать регулярное выражение? Обратите внимание, что все имена игр содержатся в объекте JavaScript с именем «itemsGame».

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

Это должно сделать это

def main(): 
    import re 
    import requests 
    url = "http://kiz10.com/index.php?page=newgames" 
    raw = requests.get(url).content 
    match = re.search("var itemsGame = \[(.*?)\];$", raw, re.M) 
    for line in re.findall('\[(.*?)\]', match.group(1)): 
     print(line.replace("'", "").split(",")[3].strip()) 

В качестве альтернативы вы можете просто вызвать Eval() на строку из вар itemsGame = к следующему \ п характер.

Очевидно, что eval всегда опасен и никогда не рекомендуется

+0

Я верю его в Html, не так ли? '

  • \t \t \t \t \t \t
    Five Fights At Freddys \t <класс = "Etiqueta платной наградой" стиль диапазон = "право: -1px;">
  • ' – Xploit

    +0

    Ahh ждать я думаю, его в обе .. им все еще новичок в Python, не был уверен в том, что сделал Regex, прежде чем я прочитал несколько вещей об этом, но видел, что это была плохая практика, я попробую это, можете ли вы объяснить свой код немного больше? Мне нравится знать, что я делаю, вместо того, чтобы просто копировать какой-то код elses, я не так многому научился – Xploit

    +0

    Это работало .. Спасибо .. Но мне все равно понравилось бы объяснение. У меня есть еще несколько сайтов, которые я тоже хочу сделать и я хочу узнать больше – Xploit