2016-03-11 2 views
0

У меня есть скрипт, который читает data с веб-страницы с помощью HTMLParser:Чтение определенного класса на веб-странице с помощью питона

import urllib 
from HTMLParser import HTMLParser 
import re 


class get_HTML_Info(HTMLParser): 
    def handle_data(self, data): 
     print data 


adib = urllib.urlopen('http://www.bulldoghax.com/secret/spinner') 
htmlsource = adib.read() 
adib.close() 

parser = get_HTML_Info() 
parser.feed(str(htmlsource)) 

я в конечном итоге с двумя набора данных, как это:

bulldoghax 

8530330882 

В терминале я просто хочу извлечь только это число и установить его в строку в python.

ответ

1

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

pip install BeautifulSoup

import urllib 
from HTMLParser import HTMLParser 
import re 

adib = urllib.urlopen('http://www.bulldoghax.com/secret/spinner') 

htmlsource = adib.read() 

from bs4 import BeautifulSoup 
soup = BeautifulSoup(htmlsource) 
for each_div in soup.findAll('div',{'class':'number'}): 
    print each_div.text 
+0

Спасибо !, это отлично !, мне просто пришлось изменить 'soup = BeautifulSoup (htmlsource)' to 'soup = BeautifulSoup (htmlsource, «lxml») ', потому что он дал мне ошибку в первый раз, когда я попробовал ее – shoomy

+0

@himanshu_dua вы можете мне помочь написать код, который отправляет этот номер для значения cookie для этого сайта' http://www.bulldoghax.com/secret/codes' – shoomy

1

Простой, здесь:

n="".join(filter(str.isdigit, data)) 

Он фильтрует строку, основанную на том, номер или нет, а затем присоединяется к ней в строку.

+0

Спасибо, теперь он показывает только цифры, это в любом случае я могу удалить «\ п» новые строки вещи, я просто хочу выходной быть, что номер – shoomy

+0

@shoomy он должен удалите символы новой строки, посмотрите на это: https://repl.it/BvMq/1 – Maltysen

Смежные вопросы