作者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/cn.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