我正在尝试使用python和beautifulsoup库从页面中提取链接,但我被卡住了。链接位于以下页面的侧边栏区域,直接位于h4字幕下方“原始来源:
http://www.eurekalert.org/pub_releases/2016-06/uonc-euc062016.php
我设法隔离了链接(主要是),但我不确定如何进一步推进我的定位以实际提取链接。到目前为止,这是我的代码:
import requests
from bs4 import BeautifulSoup
url = "http://www.eurekalert.org/pub_releases/2016-06/uonc-euc062016.php"
data = requests.get(url)
soup = BeautifulSoup(data.text, 'lxml')
source_url = soup.find('section', class_='widget hidden-print').find('div', class_='widget-content').findAll('a')[-1]
print(source_url)
我目前正在获取我已经隔离的最后一个元素的完整html,我正在尝试简单地获取链接。值得注意的是,这是我想要获得的页面上的唯一链接。
答案 0 :(得分:1)
您正在寻找href
html属性的链接。 source_url是bs4.element.Tag
,其get
方法如下:
source_url.get('href')
答案 1 :(得分:0)
你几乎得到了它!
解决方案1:
您只需在已分配给soup
的{{1}}上运行source_url
方法。
所以而不是:
print(source_url)
您应该使用:
print(source_url.text)
<强>输出:强>
解决方案2:
您应该致电source_url.get('href')
以仅获取与您的href
元素相关的特定soup.findall
代码。
print source_url.get('href')
<强>输出:强>