2015-11-15 4 views
-1

Поэтому, когда я запускаю этот код, я сохраняю пустые скобки вместо фактических данных.Как очистить данные с веб-сайта с помощью Python 2?

Я пытаюсь понять, почему смысл. Я не получаю никаких сообщений об ошибках.

import urllib 
import re 
symbolslist = ["aapl","spy","goog","nflx"] 


for symbol in symbolslist: 
    url = "http://finance.yahoo.com/q?s=%s&ql=1"%(symbol) 
    htmlfile = urllib.urlopen(url) 
    htmltext = htmlfile.read() 
    regex = '<span id="yfs_184_%s">(.+?)</span>'%(symbol.lower()) 
    pattern = re.compile(regex) 
    price = re.findall(pattern, htmltext) 
    print price 
+0

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

ответ

0

Существует множество библиотек, которые могут помочь вам очистить сайты. Взгляните на Scrapy или на Beautiful Soup они должны поддерживать оба Python 2 и 3, насколько я знаю.

+0

Я смог понять это при копировании элемента, который он меняет на 1 (один), но на самом деле это l (L в нижнем регистре). –

1

Скобки появляются, потому что код элемента для регулярного выражения не является 184 его l84, а не L.

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