首页 > 解决方案 > 从 beautifulsoup 中提取 href:为什么没有?

问题描述

我正在使用 BeautifulSoup4 解析网站。编码:

for link in soup.find_all("div", {"class": "fl nav_left_2j"}):
    for item in link.find_all("li"):
        print(item)

得到我:

<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1.htm" title="点击查看 北京市 更多领导信息">北京市&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince18.htm" title="点击查看 天津市 更多领导信息">天津市&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince35.htm" title="点击查看 河北省 更多领导信息">河北省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince219.htm" title="点击查看 山西省 更多领导信息">山西省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince351.htm" title="点击查看 内蒙古自治区 更多领导信息">内蒙古自治区</a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince465.htm" title="点击查看 辽宁省 更多领导信息">辽宁省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince580.htm" title="点击查看 吉林省 更多领导信息">吉林省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince650.htm" title="点击查看 黑龙江省 更多领导信息">黑龙江省</a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince792.htm" title="点击查看 上海市 更多领导信息">上海市&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince810.htm" title="点击查看 江苏省 更多领导信息">江苏省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince926.htm" title="点击查看 浙江省 更多领导信息">浙江省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1028.htm" title="点击查看 安徽省 更多领导信息">安徽省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1150.htm" title="点击查看 福建省 更多领导信息">福建省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1245.htm" title="点击查看 江西省 更多领导信息">江西省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1357.htm" title="点击查看 山东省 更多领导信息">山东省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1515.htm" title="点击查看 河南省 更多领导信息">河南省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1692.htm" title="点击查看 湖北省 更多领导信息">湖北省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1809.htm" title="点击查看 湖南省 更多领导信息">湖南省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince1946.htm" title="点击查看 广东省 更多领导信息">广东省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2089.htm" title="点击查看 广西壮族自治区 更多领导信息">广西壮族自治区&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2213.htm" title="点击查看 海南省 更多领导信息">海南省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2240.htm" title="点击查看 重庆市 更多领导信息">重庆市&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2279.htm" title="点击查看 四川省 更多领导信息">四川省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2482.htm" title="点击查看 贵州省 更多领导信息">贵州省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2580.htm" title="点击查看 云南省 更多领导信息">云南省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2726.htm" title="点击查看 西藏自治区 更多领导信息">西藏自治区&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2807.htm" title="点击查看 陕西省 更多领导信息">陕西省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince2925.htm" title="点击查看 甘肃省 更多领导信息">甘肃省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince3026.htm" title="点击查看 青海省 更多领导信息">青海省&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince3078.htm" title="点击查看 宁夏回族自治区 更多领导信息">宁夏回族自治区&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince3106.htm" title="点击查看 新疆维吾尔自治区 更多领导信息">新疆维吾尔自治区</a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince3220.htm" title="点击查看 香港特别行政区 更多领导信息">香港特别行政区&lt;/a></li>
*****
<li><a href="/web/20171221213907/http://ldzl.people.com.cn:80/dfzlk/front/personProvince3221.htm" title="点击查看 澳门特别行政区 更多领导信息">澳门特别行政区&lt;/a></li>
*****
<li><a>台湾省&lt;/a></li>
*****

太棒了!

现在我想提取href(最后是标题,但我假设如果我解决一个我解决两个)。根据文档,我应该能够添加:

print(item.get('href'))

并获取所有链接。不幸的是,我得到的只是“无”。但是那里有hrefs!我可以看到他们!如果有内置功能可以正确执行此操作,我宁愿不必构建一堆正则表达式。我做错了什么令人难以置信的明显事情?

谢谢!

标签: pythonweb-scrapingbeautifulsoup

解决方案


item里面<li>存放着。你必须先提取<a>。你可以这样做:item.find('a').get('href').


推荐阅读