2016-04-11 2 views
2

Я создаю инструмент webscraping, который получает количество игроков на игровом сервере.Заполнитель для целого числа с неизвестным значением

В настоящее время наиболее эффективным способом сделать это является использование запросов и BS4, чтобы написать исходный HTML в текстовый файл, а затем искать файл для

"/" 

К сожалению мой HTML содержит два вперед полоснул с пробелами либо сторону, так что мне нужно, чтобы быть в состоянии сделать что-то вроде

«% d /% d»

так она только получает один с целым числом, к сожалению, я не знаю значения либо сторону, Мне просто нужно выбрать только целое число в этом.

prange = list(range(0, 65)) 
searchfile = open("data.txt", "r") 
for line in searchfile: 
    if "/" in line: 

     print (line) 
searchfile.close() 

Заранее благодарен!

ответ

1

Что вы хотите, это using regex для поиска определенного образца в документе.

re.search(r'(\d)/(\d)', your_text) возвратит все вхождения X/Y где X и Y являются 1-значными числами. Если вы хотите больше, чем одну цифру, вы можете take a look at the regex syntax и напишите что-нибудь вроде r'(\d+)/(\d+)'.

С вашим примером, вы должны иметь:

prange = list(range(0, 65)) 
searchfile = open("data.txt", "r") 
for line in searchfile: 
    m = re.search(r'(\d+/\d+)', line) 
    if m: 
     print (line) 
searchfile.close() 
+0

Yeah цифры двузначные, спасибо за вашу помощь. К сожалению, я новичок в Python и буду продолжать изучать, как реализовать свой метод – Will

1

Вы можете попробовать использовать re найти необходимый шаблон:

>>> import re 
>>> re.search('(\d+)\s+/\s+(\d+)', 'dsdsd 111/222 dsdsds').groups() 
('111', '222') 
Смежные вопросы