python - Menambah ejen pengguna untuk menyelesaikan 403, tetapi kemudian menggunakan urlretrieve menggesa ralat padanan biasa
迷茫
迷茫 2017-05-18 10:47:01
0
1
1339

Saya ingin menulis program kecil untuk memuat turun halaman web secara automatik http://www.sse.com.cn/assortm... Pautan muat turun di dalamnya ialah http://query.sse.com.cn/secur.. .
Gunakan urllib untuk menggesa 403 , jadi saya menambah ejen pengguna dan mengembalikan 200, tetapi kemudian apabila menggunakan urlretrieve, ia menyebabkan ralat pemadanan biasa saya tidak dapat mencari jawapan dalam talian.

Kod adalah seperti berikut:

daripada permintaan import urllib

dari datetime import datetime

-- pengekodan:utf-8 --

url = 'http://query.sse.com.cn/secur...'

user_agent = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/55.0.2883.95 Mobile Safari/537.36'

myheaders = {'Pengguna - Ejen': ejen_pengguna}

req = request.Request(url, headers=myheaders)

local = "/Users/Mty/Downloads/s_data/" + str(datetime.now().date()) + " .xls"

request.urlretrieve(req, local)

Laporan ralat:

Traceback (panggilan terbaharu terakhir):
Fail "/Users/Mty/PycharmProjects/get_data/date.py", baris 20, dalam <modul>

request.urlretrieve(req, local)

Fail "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", baris 186, dalam urlretrieve

url_type, path = splittype(url)

Fail "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/parse.py", baris 861, dalam splittype

match = _typeprog.match(url)

TypeError: rentetan yang dijangkakan atau objek seperti bait

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(1)
淡淡烟草味

Gunakan request.build_opener untuk menambah kepala untuk menyelesaikan masalah

myheaders = [('User - Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.17'
                              ' (KHTML, like Gecko) Version/3.1 Safari/525.17'),]
opener = request.build_opener()
opener.addheaders = myheaders
request.install_opener(opener)

request.urlretrieve(url, local)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan