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

2024-06-26 15:02:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从这个网页的左边提取城市名(http://www.silvan.dk/butikker)。原因是我需要提取每个城市的实际地址(在链接所指的页面上可以找到,不过,目前我开始提取城市名称)。 更确切地说是从这个容器。但是,由于我刚刚开始使用Python和beauthoulsoup,因此无法提取所需的信息。在

结果应该会告诉我: 城市,连接。在

到目前为止,我已经:

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')

得到了以下输出:

^{pr2}$

如果有人能给我指点解决办法,我将不胜感激。 我用累了

div = soup.find('div', id='leftContent')
lis = div.find_all('li')
num_lis = len(lis)

但一次跑步后就停止工作了,我不知道为什么? 谢谢你抽出时间。在


Tags: nameimportdivhttphtmlwwwliurllib2
1条回答
网友
1楼 · 发布于 2024-06-26 15:02:40

从以下位置更改选择器:

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

收件人:

^{pr2}$

输出:

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

你可以找到关于选择器的很好的文档here

相关问题 更多 >