Найти - Пользователи
Полная версия: Помогите адаптировать мини скрапер c python2 на python3
Начало » Python для новичков » Помогите адаптировать мини скрапер c python2 на python3
1
RSMix
Блок просто считывает цифровое значение курса валюты постоянно изменяющееся.
Ребята помогите пожалуйста адаптировать к 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
]
xkbd
     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)
py.user.next
  
>>> 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
>>>
RSMix
Благодарю Вас ребята. Что я не так сделал?

/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
xkbd
>IndentationError: unexpected indent
Отсупы расставь.
RSMix
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
WoMax
Так для информации:

 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
RSMix
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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB