Python 2 -> 3, urllib.urlopen (corrected the case)
Ben Bacarisse
ben.usenet at bsb.me.uk
Sat Oct 14 21:46:58 EDT 2017
Irv Kalb <Irv at furrypants.com> writes:
> Thank you!
You're welcome.
<snip>
>> Just a data point... It works here:
>>
>> $ python3 t.py
>> Response is: b'156.99\n'
>> $ cat t.py
>> import urllib.request
>> fullURLWithParameters = 'http://finance.yahoo.com/d/quotes.csv?s=aapl&f=l1'
>> # read all the data
>> response = urllib.request.urlopen(fullURLWithParameters).read()
>>
>> print('Response is: ', response)
>> $ python3 --version
>> Python 3.5.2
>
> I have not tried this on anything but my Mac. I'm running 3.6.1
<snip>
>> For example, here:
>>
>> $ wget -q -O - 'http://finance.yahoo.com/d/quotes.csv?s=aapl&f=l1'
>> 156.99
>>
>> Finally, wget -S shows that the resource has moved. It is now at
>>
>> Location: http://download.finance.yahoo.com/d/quotes.csv?s=aapl&f=l1
>>
>> I don't think this has anything to do with your problem, but it's worth
>> noting.
>
> That DID fix it. I changed the URL to add 'download/' and it worked
> perfectly.
That's... interesting.
> Apparently, Python 3 differs from Python 2 in the way that it is
> handling a missing/forwarding URL, because the original code in Python
> 2.7 works perfectly.
Python 3 works for me. I still suspect it's some system difference
rather than being, say, a 3.6.1 vs 3.5.2 difference. What happens if
you change the URL to use https rather than http?
--
Ben.
More information about the Python-list
mailing list