Python Beautifulsoup从无序列表div中提取文本和链接<;ul<;李(斯堪的纳维亚文字)

Python Beautifulsoup从无序列表div中提取文本和链接<;ul<;李(斯堪的纳维亚文字),python,html,web-scraping,beautifulsoup,extract,Python,Html,Web Scraping,Beautifulsoup,Extract,我正在尝试从此网页的左侧提取城市名称()。原因是我需要提取每个城市的实际地址(在链接所指的页面上可以找到该地址,但目前我开始提取城市名称)。 更确切地说,从这个容器。然而,由于我刚刚开始使用Python和Beautifulsoup,因此无法提取所需的信息 结果应该给我: 城市,城市连接 到目前为止,我已经: import urllib2 import sys, locale, os, re import lxml.etree from bs4 import BeautifulSoup def

我正在尝试从此网页的左侧提取城市名称()。原因是我需要提取每个城市的实际地址(在链接所指的页面上可以找到该地址,但目前我开始提取城市名称)。 更确切地说,从这个容器。然而,由于我刚刚开始使用Python和Beautifulsoup,因此无法提取所需的信息

结果应该给我: 城市,城市连接

到目前为止,我已经:

import urllib2
import sys, locale, os, re
import lxml.etree
from bs4 import BeautifulSoup

def cp65001(name):
if name.lower() == 'cp65001':
    return codecs.lookup('utf-8')

html_page = urllib2.urlopen("http://www.silvan.dk/butikker",'w')
soup = BeautifulSoup(html_page)
li = soup.select("ul > li > a")
for link in li:
    print link.get('href')
这给了我以下输出:

#1
#2
#3
#4    
#5
#6
#7
#8
#9    
#10
#11
#12
#13
#14    
#15
#16
#17
#18
如果有人能给我一个解决方案,我将不胜感激。 我厌倦了使用

div = soup.find('div', id='leftContent')
lis = div.find_all('li')
num_lis = len(lis)
但在一次跑步后,它就停止工作了,我不知道为什么?
感谢您抽出时间。

将选择器从以下位置更改为:

li = soup.select("ul > li > a")
致:

输出:

http://www.silvan.dk/butikker/ballerup
http://www.silvan.dk/butikker/birkeroed
http://www.silvan.dk/butikker/city2
http://www.silvan.dk/butikker/esbjerg
http://www.silvan.dk/butikker/fisketorvet
http://www.silvan.dk/butikker/fredericia
http://www.silvan.dk/butikker/frederikshavn
etc

您可以找到非常好的选择器文档

谢谢您的回答,以及选择器的方向。出于某种原因,当我使用你的建议时,我根本没有得到任何输出?它对我有效,我运行代码,但我删除了编解码器部分。也许我们会得到不同的html?你能用你得到的html更新答案吗?谢谢你的努力。我也尝试过删除编解码器部分,但是我仍然没有得到任何输出,所以我没有html给你看。但是,如果我使用li=soup.select(“ul li a”),我会得到与前面相同的html输出。我正在使用Python2.7。我需要更新一些模块吗?我指的是这个html:
html\u页面
。我个人得到一个子菜单类,里面有li,里面有a。做一个
打印html\u页面
并检查元素的位置。啊,对不起,我误解了。我得到了以下信息:
另一篇帖子建议我将
.read()
添加到我的
html\u页面
。但是当我尝试打印html页面时,没有输出。有什么建议吗?
http://www.silvan.dk/butikker/ballerup
http://www.silvan.dk/butikker/birkeroed
http://www.silvan.dk/butikker/city2
http://www.silvan.dk/butikker/esbjerg
http://www.silvan.dk/butikker/fisketorvet
http://www.silvan.dk/butikker/fredericia
http://www.silvan.dk/butikker/frederikshavn
etc