作者kiwistar (暴風雪之喀秋莎)
看板Python
標題[問題] Crawler問題
時間Fri Apr 27 02:57:49 2018
https://ideone.com/9pNQ0X
照課程指示,寫一個簡單的爬蟲
原本範例使用google finance的網址來示範
但貌似google finance已經變更顯示方式了
照原本的方式輸入會得到HTTP ERROR 403 forbidden
改用讀冊書店的商品頁,得到
HTTP ERROR 500: internal server error
https://i.imgur.com/UZSSgQ1.jpg
插入try-catch區塊:
try:
data = urllib.request.urlopen(url).read()
data1 = data.decode('utf-8')
except HTTPError as e:
content = e.read()
print(content)
把得到的文字複製下來用瀏覽器檢視:
https://i.imgur.com/JpbFiqM.jpg
直接開啟網頁可以正常檢視沒問題,但為什麼用urllib抓就一堆問題?
試過幾個網頁
google finance跳 HTTP Error 403
taaze.tw跳HTTP Error 500
最後使用flickr.com才成功抓下圖片
但如果正常使用上,三個網站有兩個不能用,顯然這東西根本不能用
請問我是不是忘了什麼?還是可以怎麼改進程式碼??
感謝大家
--
1F:推 perry27: 要紅就要有特色 想到盜總就是盜壘 鋒哥就是轟砲 建民就是10/02 10:37
2F:→ xyz4594: 持久10/02 10:37
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.179.102
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1524769075.A.36A.html
3F:推 kenduest: 所以你到底是爬哪個 url ? 04/27 11:06
5F:→ kenduest: 但是這個應該不是你要爬的實際 url ?? 04/27 11:07
6F:→ kenduest: 剛剛看一下,有丟 User-Agent: Mozilla 頁面應該 ok 04/27 11:11
7F:→ kenduest: 所以應該是擋了沒有送正確 User-Agent: header 的請求 04/27 11:11
8F:→ coeric: 原po的網址是怎麼一回事? 04/27 11:14
呃,不知道為啥,我點進去自己貼的連結跟編輯頁面的url看起來就是不一樣
我要貼的連結:
https://www.taaze.tw/sing.html?pid=11100843681
但是ideone會自動把我的網址屏蔽,不知道為什麼orz
※ 編輯: kiwistar (123.194.179.102), 04/28/2018 16:59:48
9F:→ kenduest: User-Agent 送了就可以了。題外話 requests 比較好用 04/29 05:38