4

我试图从这个网页( http://www.silvan.dk/butikker)的左侧提取城市名称。原因是我需要提取每个城市的物理地址(在链接所指的页面上可以找到,但是我暂时开始提取城市名称)。从这个容器更准确地说。然而,由于我刚刚开始使用 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)

但是运行一次后就停止工作了,我不知道为什么?感谢您的时间。


查询分页

我有这个函数可以使用 ajax 从 anunturi 表中获取所有行。

function view_user_anunt($user) {


         $query="SELECT t1.*, t2.*, t3.*
         FROM anunturi t1 
         INNER JOIN tranzactie t2 ON t1.tranzactie = t2.id_tranzactie
         INNER JOIN tip_proprietate t3 ON t1.tip = t3.id_prop
         WHERE t1.user=:code 
";

        $stmt = $this->dbh->prepare($query);
        $stmt->bindParam(':code', $user, PDO::PARAM_INT);
        $stmt->execute();
        $nr=$stmt->rowCount();
        echo $nr;
        foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $result) 
        {
            $view[]="
            <tr>
            <td>".$result['id_anunt']."</td>
            <td>".$result['den_tranzactie']."</td>
            <td>".$result['den_prop']."</td>
            <td>hehe</td>
            <td><a href='#' id='vizualizare'>Select</a></td>
            <td><a href='#' id='modificare'>Select</a></td>
            </tr>";

        }

    return $view;



}

}

我需要一个解决方案来分页这个查询。如果可能的话,我需要使用 ajax 和 php 进行分页。提前致谢....

4

1 回答 1

3

更改您的选择器:

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

至:

li = soup.select(".subMenu 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

你可以在这里找到非常好的选择器文档

于 2013-10-09T09:07:42.760 回答