2017-07-12 94 views
1

我想網絡刮,這是我的代碼。如何修復HTTP錯誤400:Python 3中的錯誤請求?

出於某種原因,我得到HTTP錯誤400:錯誤的請求,我從來沒有這樣做過。

任何想法?

這裏是我的代碼:

import urllib.request 
import re 

url = ('https://www.myvue.com/whats-on') 

req = urllib.request.Request(url, headers={'User Agent': 'Mozilla/5.0'}) 

def main(): 

    html_page = urllib.request.urlopen(req).read() 

    content=html_page.decode(errors='ignore', encoding='utf-8') 

    headings = re.findall('<th scope="col" abbr="(.*?)">', content) 

    print(headings) 

main() 

回答

6

解決您的標題:

req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'}) 

User-Agent,不User Agent


此外,我建議切換到requests模塊。

html_page = requests.get(url, {'User-Agent': 'Mozilla/5.0'}).text 

這相當於三行urllib和更具可讀性。另外,它會自動爲您解碼內容。

+0

謝謝,我已經擺脫了HTTP錯誤400,但代碼由於某種原因沒有運行我的正則表達式,只返回'[]'。抱歉的問題!只是學習! – Jdsmith

+0

@Jdsmith這是一個不同的問題,值得另一篇文章。標記此接受,關閉它,並打開一個新的:) –

+0

@Jdsmith另外,作爲一個快速的一面注意,我強烈建議你看看[this](https://www.crummy.com/software/BeautifulSoup/bs4/DOC /)。 –