0
私のコードをページのURLを返します。BeautifulSoupは、参考のために、同じウェブサイトに短縮
import httplib2
from bs4 import BeautifulSoup
h = httplib2.Http('.cache')
response, content = h.request('http://csb.stanford.edu/class/public/pages/sykes_webdesign/05_simple.html')
soup = BeautifulSoup(content, "lxml")
urls = []
for tag in soup.findAll('a', href=True):
urls.append(tag['href'])
responses = []
contents = []
for url in urls:
try:
response1, content1 = h.request(url)
responses.append(response1)
contents.append(content1)
except:
pass
アイデアがある、私は、Webページのペイロードを取得した後、ハイパーリンクのためにすることをこすり。スクリプトの後半ので、
>>> urls
['http://www.yahoo.com/', '../../index.html']
これは、問題を提示:リンクの一つは、私はBeautifulSoupから取得していた結果があるしかし「http://csb.stanford.edu/class/public/index.html」
に他、yahoo.comにあります短縮された2番目のURLでは実行できません。 BeautifulSoupに完全なURLを取得させる方法はありますか?
もちろん、ありがとうございます。例外にurl join部分を含めることができます。 –
さらに考えてみると、私は気にしないでしょう、それは単一のウェブページにしか特定できず、実際には気にする価値がありません –