課程
/后端開發
/Python
/Python開發簡單爬蟲
弄了很久了 還沒找到解決方法 求解
2017-06-18
源自:Python開發簡單爬蟲 7-7
正在回答
如果是URL部分亂碼/item/%E7%BC%96%,是因為url采用了再編碼-->16進制編碼
解決方法:調用urllib.parse.unquote("/item/%E7%BC%96%")來變回中文
注意:變回中文的URL無法用urllib.request.urlopen(URL)來訪問,可以在最后輸出html的時候變回中文
輸出的html分url,title,data三列,title和data出現\x96\x12\x34(unicode編碼)
原因:因為先用encoding='utf-8'新建html文件,然后又fout.write("<td>%s</td>" % data['title'].encode('utf-8))又編碼成unicode
解決方法:直接fout.write("<td>%s</td>" % data['title'])
附源代碼,可對比學習
丶coding 提問者
小蟒蛇
#<a target="_blank" href="/item/%E8%83%B6%E6%B0%B4%E8%AF%AD%E8%A8%80">膠水語言</a>
links = soup.find_all('a', href = re.compile(r'^/item/[\W\w]+'))
?求教正則匹配這兒應該怎么寫呢?我的正則匹配不出來東西么?。?!
沒有指定編碼格式?課程中不是說了要加上coding=utf-8
舉報
本教程帶您解開python爬蟲這門神奇技術的面紗
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-06-20
如果是URL部分亂碼/item/%E7%BC%96%,是因為url采用了再編碼-->16進制編碼
解決方法:調用urllib.parse.unquote("/item/%E7%BC%96%")來變回中文
注意:變回中文的URL無法用urllib.request.urlopen(URL)來訪問,可以在最后輸出html的時候變回中文
輸出的html分url,title,data三列,title和data出現\x96\x12\x34(unicode編碼)
原因:因為先用encoding='utf-8'新建html文件,然后又fout.write("<td>%s</td>" % data['title'].encode('utf-8))又編碼成unicode
解決方法:直接fout.write("<td>%s</td>" % data['title'])
附源代碼,可對比學習
2017-07-22
#<a target="_blank" href="/item/%E8%83%B6%E6%B0%B4%E8%AF%AD%E8%A8%80">膠水語言</a>
links = soup.find_all('a', href = re.compile(r'^/item/[\W\w]+'))
?求教正則匹配這兒應該怎么寫呢?我的正則匹配不出來東西么?。?!
2017-06-18
沒有指定編碼格式?課程中不是說了要加上coding=utf-8