Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2017 14:59:57

RSMix
От: Испания
Зарегистрирован: 2017-01-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

Блок просто считывает цифровое значение курса валюты постоянно изменяющееся.
Ребята помогите пожалуйста адаптировать к python3, смог сваять на python 2,7 на нем работает.
Или подскажите пожалуйста путь по кторому нужно пойти чтобы это сделать самому. Заранее благодарен.

 [/
import re
import urllib
htmlfile=urllib.urlopen("https://es.finance.yahoo.com/q?s=EURRUB=X&ql=1")
htmltext = htmlfile.read()
regex='<span id="yfs_l10_eurrub=x">(.+?)</span>'
pattern= re.compile(regex)
yfs=re.findall(pattern,htmltext)
 
print yfs
]

Офлайн

#2 Янв. 19, 2017 15:12:03

xkbd
Зарегистрирован: 2017-01-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

     import re
    from urllib.request import urlopen
    htmlfile=urlopen("https://es.finance.yahoo.com/q?s=EURRUB=X&ql=1")
    htmltext = htmlfile.read().decode()
    regex='<span id="yfs_l10_eurrub=x">(.+?)</span>'
    pattern=re.compile(regex)
    yfs=re.findall(pattern,htmltext)
    print(yfs)

Офлайн

#3 Янв. 19, 2017 15:15:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

  
>>> import urllib.request
>>> import re
>>> 
>>> htmlfile = urllib.request.urlopen('https://es.finance.yahoo.com/q?s=EURRUB=X&ql=1')
>>> htmltext = htmlfile.read().decode('latin1')
>>> htmlfile.close()
>>> 
>>> regex = r'<span id="yfs_l10_eurrub=x">(.+?)</span>'
>>> pattern =  re.compile(regex)
>>> 
>>> yfs = pattern.findall(htmltext)[0]
>>> print(yfs)
63,5870
>>>



Отредактировано py.user.next (Янв. 19, 2017 15:17:20)

Офлайн

#4 Янв. 19, 2017 16:14:23

RSMix
От: Испания
Зарегистрирован: 2017-01-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

Благодарю Вас ребята. Что я не так сделал?

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 “/Users/______/Library/Mobile Documents/com~apple~CloudDocs/PYTHON/projects/python2_to_python3/scraper es.Yahoo finanse”
File “/Users/_______/Library/Mobile Documents/com~apple~CloudDocs/PYTHON/projects/python2_to_python3/scraper es.Yahoo finanse”, line 4
htmlfile= urllib.request.urlopen('https://es.finance.yahoo.com/q?s=EURRUB=X&ql=1')
^
IndentationError: unexpected indent

Process finished with exit code 1

Прикреплённый файлы:
attachment Screen Shot 2017-01-19 at 15.07.57.jpg (101,6 KБ)

Офлайн

#5 Янв. 19, 2017 16:16:11

xkbd
Зарегистрирован: 2017-01-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

>IndentationError: unexpected indent
Отсупы расставь.

Офлайн

#6 Янв. 19, 2017 19:49:42

RSMix
От: Испания
Зарегистрирован: 2017-01-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

xkbd
>IndentationError: unexpected indentОтсупы расставь.

Вроде сделал в отступы, по крайней мере PYCharm не ругается но выдает вот такие ошибки (скриншот в приложении):
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 “/Users/romansotnikov/Library/Mobile Documents/com~apple~CloudDocs/PYTHON/projects/python2_to_python3/scraper es.Yahoo finanse”
Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”, line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py”, line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py”, line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py”, line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py”, line 1026, in _send_output
self.send(msg)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py”, line 964, in send
self.connect()
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py”, line 1400, in connect
server_hostname=server_hostname)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py”, line 401, in wrap_socket
_context=self, _session=session)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py”, line 808, in __init__
self.do_handshake()
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py”, line 1061, in do_handshake
self._sslobj.do_handshake()
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py”, line 683, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: certificate verify failed (_ssl.c:749)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/Users/romansotnikov/Library/Mobile Documents/com~apple~CloudDocs/PYTHON/projects/python2_to_python3/scraper es.Yahoo finanse”, line 4, in <module>
htmlfile = urllib.request.urlopen('https://es.finance.yahoo.com/q?s=EURRUB=X&ql=1')
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”, line 223, in urlopen
return opener.open(url, data, timeout)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”, line 526, in open
response = self._open(req, data)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”, line 544, in _open
‘_open’, req)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”, line 504, in _call_chain
result = func(*args)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”, line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File “/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py”, line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error certificate verify failed (_ssl.c:749)>

Process finished with exit code 1

Прикреплённый файлы:
attachment Screen Shot 2017-01-19 at 18.46.28.jpg (600,7 KБ)

Офлайн

#7 Янв. 19, 2017 20:30:21

WoMax
Зарегистрирован: 2014-05-26
Сообщения: 124
Репутация: +  9  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

Так для информации:

 Python 3.5.1 (default, Jan 25 2016, 23:14:25) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from yahoo_finance import Currency
>>> eur_rub = Currency('EURRUB')
>>> print(eur_rub.get_bid())
63.6140
>>> print(eur_rub.get_ask())
63.6300
>>> print(eur_rub.get_rate())
63.6140
>>> print(eur_rub.get_trade_datetime())
2017-01-19 22:20:00 UTC+0000
>>> eur_rub.refresh()
>>> print(eur_rub.get_rate())
63.5150

Офлайн

#8 Янв. 26, 2017 16:50:09

RSMix
От: Испания
Зарегистрирован: 2017-01-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите адаптировать мини скрапер c python2 на python3

WoMax
Так для информации:

не знаю,yahoo fin выдает устаревшую информацю

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 “/Users/romansotnikov/Google Диск/PYTHON/projects/yahoo fin/module yahoo workable.py”
64.2250
64.2430
64.2250
2017-01-26 15:04:00 UTC+0000
64.3770

Process finished with exit code 0

против реальной:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 “/Users/romansotnikov/Google Диск/PYTHON/projects/YAHOOSCRAPy27/scraperyahoofinpy27worcable.py”
64,4210
1485441690.09

Process finished with exit code 0

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version