首页 > 解决方案 > 来自网页的python 2.7绝对链接

问题描述

我有以下代码,我需要从中获取绝对链接而不是相对链接。
我相信我需要在这里的某个地方使用urlparseurljoin,但我只是不确定在哪里使用它。
这段代码中的 .csv 也给了我这样的行:"/about.html"这显然不是指向另一个网页的链接。

import urllib
import pandas as pd
from bs4 import BeautifulSoup
import numpy as np
import re
r = urllib.urlopen('https://www.census.gov/programs-surveys/popest.html')
soup = BeautifulSoup(r, "lxml")
links = []
for link in soup.findAll('a', attrs={'href': re.compile(r'(^http|.html)')}):
    links.append(link.get('href'))
web_links_df = pd.DataFrame(links)
web_links_df.columns = ['web_link']
web_links_df['web_link'] = web_links_df['web_link'].apply(lambda x: 
    x.rstrip('/'))
url_tail = web_links_df['web_link'].apply(lambda x: x[-4:])
web_links = pd.DataFrame(web_links_df['web_link'].unique())
web_links.columns = ['web_link']
print web_links.head()
web_links.to_csv("D:/MLCV/web_links_1.csv")

任何帮助将不胜感激。我花了几个小时浏览 Stack 上的其他示例,但我没有得到正确的结果。

标签: python-2.7

解决方案


推荐阅读