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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

問題: 抓到的URL有些是相對路徑,怎么識別出來然后讓他自動把URL連接上?

問題: 抓到的URL有些是相對路徑,怎么識別出來然后讓他自動把URL連接上?

慕容森 2022-07-14 11:11:11
現在程序:class URLLister(SGMLParser):def reset(self):SGMLParser.reset(self)self.urls = []def start_a(self, attrs):href = [v for k, v in attrs if k=='href']if href:self.urls.extend(href)f = urllib2.urlopen("http://www.baidu.com/")if f.code == 200:parser = URLLister()parser.feed(f.read())f.close()for url in parser.urls:print url
查看完整描述

2 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

可以在start_a里面改,一般是相對路徑的話,都不是以http://開頭的。所以你得判斷一下,是否以http開頭,否則,進行添加路徑名的操作。
可以用find來做。比如
if href.find("http://") == 0:
_____pass #no deal
else:
_____addurl(href)
關于路徑名的話,一般就是 域名 + 當前相對路徑,
當然,也可以將正在爬的本頁域名當參數傳入,具體分情況處理。


查看完整回答
反對 回復 2022-07-18
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

不過,不知道這幾種相對路徑都代表什么?。?br/>path
/path...
./path...
函數addurl需要分類討論,來加域名,或者當前網頁的路徑

查看完整回答
反對 回復 2022-07-18
  • 2 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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