亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

含有中文的url不能download,

包含中文的url都不能download,,,求解

https://img1.sycdn.imooc.com//5c39acc300019a9a24941820.jpg

https://img1.sycdn.imooc.com//5c39ad6700019fef16360910.jpg

正在回答

3 回答

import urllib.request
from urllib.parse import quote
import string


class HtmlDownloader(object):
???
???
??? def download(self,url):
??????? if url is None:
??????????? return None
??????? s=quote(url,safe=string.printable)
???????
??????? response=urllib.request.urlopen(s)
??????? if response.getcode()!=200:
??????????? return None
??????? return response.read()

urllib.quote 解決Python傳遞中文參數給URL

0 回復 有任何疑惑可以回復我~
def?_get_new_urls(self,?page_url,?soup):
????new_urls?=?set()
????#<a?target="_blank"?href="/item/%E9%98%BF%E5%A7%86%E6%96%AF%E7%89%B9%E4%B8%B9/2259975"?data-lemmaid="2259975">阿姆斯特丹</a>
????#https:?//?baike.baidu.com?/?item?/?阿姆斯特丹?/?2259975
????links?=?soup.find_all('a',href=re.compile(r"/item/"))
????for?link?in?links:
????????new_url?=?'/item/'+link.get_text()
????????new_full_url?=?urlparse.urljoin(page_url,new_url)
????????new_urls.add(new_full_url)
????return?new_urls

我也是這么寫的,有哪里寫錯了嗎?

0 回復 有任何疑惑可以回復我~
#1

BSH

soup用URLEncoder.encode進行編碼,soup = URLEncoder.encode(soup,"utf-8");
2019-02-16 回復 有任何疑惑可以回復我~

https://img1.sycdn.imooc.com//5c3b02c10001628204490125.jpg

這一步務必使用函數進行url的拼接,帶有中文的url會有編碼問題

1 回復 有任何疑惑可以回復我~
#1

趙崇輝 提問者

我也是這么寫的,有哪里寫錯了嗎?
2019-01-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Python開發簡單爬蟲
  • 參與學習       227596    人
  • 解答問題       1288    個

本教程帶您解開python爬蟲這門神奇技術的面紗

進入課程

含有中文的url不能download,

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號