Skip to content
Advertisement

Beautiful Soup findAll() finds half of them

I’m trying to scrape information on the price of offices in France and I successfully developed the code to scrape all the information I needed.

Though, I quickly noticed that something was wrong with the number of outputs and more precisely that my algorithm was returning only half of the occurences present on each page of the website.

Here’s how the basic code looks like:

from urllib.request import Request, urlopen
from bs4 import BeautifulSoup

page = "https://www.bureauxlocaux.com/recherche/?transaction_type=sale&realty_type=office&page=1"
req = Request(page, headers={'User-Agent': 'Mozilla/5.0'})
web_byte = urlopen(req).read()
webpage = web_byte.decode('utf-8')
bs = BeautifulSoup(webpage, 'html.parser')
announces = bs.findAll('li',{'class':'item-card'})

Like suggested here Beautiful Soup findAll doesn’t find them all I’m already using the html.parser and I’ve tried with others but in vain.

I still don’t understand why it’s picking up only the first half of the page whereas the html code clearly comprises all of them.

Advertisement

Answer

The data you see on the page is stored as Json. You can use json module to extract it.

For example:

import json
import requests
from bs4 import BeautifulSoup


url = 'https://www.bureauxlocaux.com/recherche/?transaction_type=sale&realty_type=office&page=1'
soup = BeautifulSoup(requests.get(url).content, 'html.parser')
data = json.loads(soup.select_one('#listings-data').contents[0])

# uncomment this to print all data:
# print(json.dumps(data, indent=4))

for idx, i in enumerate(data['results']['items'], 1):
    if i.get('sponsored_page'):
        continue
    print('{:<3} {:<50} {:<30} {:<30} {}'.format(idx, i['label'], i['street'], i['city'], i['zip_code']))

Prints:

1   A VENDRE, LE RIVE DE SAÔNE                         41 QUAI FULCHIRON              Lyon                           69005
2   A VENDRE BUREAUX 84 m² RDC CHAMPS SUR MARNE        12 rue Albert Einstein         Champs sur Marne               77420
3   Vente Bureau Boulogne Billancourt 92100            RUE D'ISSY                     Boulogne Billancourt           92100
4   A VENDRE Bâtiment indépendant                                                     TOUSSUS LE NOBLE               78117
5   Exclusivité Yfimo Buchelay à vendre un bureau de 85 m2 20 rue des Piquettes           BUCHELAY                       78200
6   A VENDRE OU A LOUER, EUROPARC DE BRON              6 RUE EDISON                   Bron                           69500
7   A VENDRE, LE RIVE DE SAÔNE                         41 QUAI FULCHIRON              Lyon                           69005
8   A VENDRE, LE RIVE DE SAÔNE                         41 QUAI FULCHIRON              Lyon                           69005
9   A VENDRE OU A LOUER, EUROPARC DE BRON              6 RUE EDISON                   Bron                           69500
10  Quartier Palais de justice : Bureaux à vendre                                     MARSEILLE                      13006
11  BUREAUX A VENDRE                                                                  Toulouse                       31100
12  A VENDRE OU A LOUER                                5 RUE JEAN MERMOZ              Courcouronnes                  91080
13  BUREAUX A VENDRE                                   12, place GEORGES POMPIDOU     Noisy Le Grand                 93160
14  A VENDRE OU A LOUER, EUROPARC DE BRON              6 RUE EDISON                   Bron                           69500
15  BUREAUX A VENDRE OU A LOUER                                                       Toulouse                       31100
16  NANTES A VENDRE BUREAU 76 M² ANCIEN DE CARACTERE                                  Nantes                         44100
17  Vente Bureau Marseille 13010                       AVENUE DE LA CAPELETTE         Marseille                      13010
18  A VENDRE, LE RIVE DE SAÔNE                         41 QUAI FULCHIRON              Lyon                           69005
19  Bureaux à vendre - 13016 Marseille                 7 avenue André Roussin         MARSEILLE                      13016
20  A VENDRE OU A LOUER, EUROPARC DE BRON              6 RUE EDISON                   Bron                           69500
21  BUREAUX A VENDRE                                                                  Toulouse                       31100
22  A VENDRE OU A LOUER, EUROPARC DE BRON              6 RUE EDISON                   Bron                           69500
24  BUREAUX A VENDRE OU A LOUER                                                       Lissieu                        69380
25  BUREAUX A VENDRE OU A LOUER                                                       Lissieu                        69380
26  A VENDRE OU A LOUER                                350 AVENUE GUILIBERT DE LA LAUZIERE Aix En Provence                13100
27  Location Bureau MULHOUSE 68100                     RUE FRANCOIS SPOERRY           MULHOUSE                       68100
28  Vente Bureau LYON 69009                                                           LYON                           69009
29  Bureau de 60m²                                                                    Champs Sur Marne               77420
30  Location Bureau FRANCHEVILLE 69340                 1 BIS Chemin DU TOREY          FRANCHEVILLE                   69340
31  Vente Bureau Massy 91300                           1, rue Marcel Paul             Massy                          91300
32  Bureau de 159m²                                                                   Saint Maur Des Fosses          94100
33  Bureaux à vendre de 280m2                          RUE FOUCHER LEPELLETIER        Issy Les Moulineaux            92130
34  BUREAUX A VENDRE                                   12, allée Lech Walesa          Lognes                         77185
35  Vente Bureau BORDEAUX 33000                        4 Rue EMILE FOURCAND           BORDEAUX                       33000
36  Location Bureau RENNES 35700                       158 Rue 158 Rue d'Antrain      RENNES                         35700
37  Vente Bureau BRUGES 33520                          Rue SERGE DEJEAN               BRUGES                         33520
38  A VENDRE OU A LOUER                                                               Marseille                      13009
39  BUREAUX A VENDRE OU A LOUER                                                       Bussy Saint Georges            77600
40  A vendre bureaux occupés proche Opéra                                             Paris                          75009
41  Vente Bureau Saint Ouen 93400                                                     Saint Ouen                     93400
42  Rénovés - double parking - face Gare RER           22 square Robinson             SCEAUX                         92330
43  Rare – Madeleine – 6 pièces – Beaux volumes        rue de Surène                  PARIS                          75008
44  BUREAUX A VENDRE OU A LOUER                                                       Bussy Saint Georges            77600
45  Vente Bureau Nanterre 92000                                                       Nanterre                       92000
46  Vente Bureau Noisy Le Grand 93160                                                 Noisy Le Grand                 93160
47  Vente Bureau Merignac 33700                                                       Merignac                       33700
48  BUREAUX A VENDRE                                                                  Noisy Le Grand                 93160
49  Vente Bureau Paris 75013                                                          Paris                          75013
50  BUREAUX A VENDRE                                                                  Bordeaux                       33000
51  Bureaux à louer et à vendre de 400m2               PLACE DU SUD                   Puteaux                        92800
52  Vente Bureau Les Pavillons Sous Bois 93320                                        Les Pavillons Sous Bois        93320
53  En Exclusivité - A Vendre - Bureaux - 186 m2 -  ZI Les Paluds - Agora                                Aubagne                        13400
54  Vente bureaux Issy-les-moulineaux 92130                                           Issy Les Moulineaux            92130
55  PARC D'ACTIVITE - ACTISQUARE III (bis)                                            Dommartin                      69380
56  BUREAUX A VENDRE                                                                  Labege                         31670
57  BUREAUX A VENDRE OU A LOUER                                                       Bussy Saint Georges            77600
58  BUREAUX A VENDRE                                                                  Noisy Le Grand                 93160
59  BUREAUX D'ENVIRON 370 m² DISPONIBLES IMMEDIATEMENT A l'ACHAT A FONDETTES                                Fondettes                      37230
60  A VENDRE OU A LOUER                                                               Asnieres Sur Seine             92600
61  A VENDRE - BUREAUX DE 130 M² IDÉALEMENT SITUÉS EN FACE DE L’AÉROPORT                                Blagnac                        31700
62  A VENDRE OU A LOUER                                                               Villefranche Sur Saone         69400
63  Vente Bureau PARIS 75015                           8 RUE BORROMEE                 PARIS                          75015
64  La Joliette/Bureaux à vendre en pied d'immeuble                                   Marseille                      13002
65  Vente Bureau Asnieres Sur Seine 92600                                             Asnieres Sur Seine             92600
66  Vente Bureau OULLINS 69600                         27 Rue Saint-Exupéry           OULLINS                        69600
67  Bureaux A VENDRE                                   Allée de la connaissance       LIEUSAINT                      77127
68  A VENDRE OU A LOUER                                                               Chateau Gaillard               01500
69  BUREAUX A VENDRE OU A LOUER                                                       Lissieu                        69380
70  Vente Bureau CESSON SEVIGNE 35510                                                 CESSON SEVIGNE                 35510
71  IMMEUBLE DE BUREAUX PRIVATIF A VENDRE                                             Merignac                       33700
72  IMMEUBLE EMBLEMATIQUE CENTRE-VILLE DE BOULOGNE-SUR-MER Place des Capucins             BOULOGNE SUR MER               62200
73  Vente Bureau Paris 75008                                                          Paris                          75008
74  A LOUER /  A VENDRE - QUIMPER - BUREAUX - 115 m² env                                Quimper                        29000
75  Location Bureau BORDEAUX 33000                     Avenue DES 40 JOURNAUX         BORDEAUX                       33000
76  Vente Bureau Courbevoie 92400                                                     Courbevoie                     92400
77  BUREAUX A VENDRE OU A LOUER                                                       Lissieu                        69380
78  Vente Bureau Asnieres Sur Seine 92600                                             Asnieres Sur Seine             92600
79  Vente Bureau Asnieres Sur Seine 92600                                             Asnieres Sur Seine             92600
80  Bureaux Vide 20 m²                                                                Cannes                         06400
81  Vente Bureau ROSNY SOUS BOIS 93110                 14 RUE DE LISBONNE             ROSNY SOUS BOIS                93110
82  Plateau de Bureaux à vendre / Palais Royal                                        paris                          75002
83  A vendre bureaux 118m² centre ville Marseille                                     Marseille                      13006
84  Vente Bureau Clichy 92110                          92-98 BOULEVARD VICTOR HUGO    Clichy                         92110
85  BUREAUX 138 m² (non div.) à vendre (PARIS 75002)                                  Paris                          75002
86  Vente Bureau Gennevilliers 92230                   AVENUE DES LOUVRESSES          Gennevilliers                  92230
87  Location Bureau VILLENEUVE D ASCQ 59650            25 Rue DU CARROUSEL            VILLENEUVE D ASCQ              59650
88  A VENDRE OU A LOUER                                Place des Champs Elysées       Courcouronnes                  91080
89  BUREAUX A VENDRE                                                                  Echirolles                     38130
90  A VENDRE OU A LOUER                                rue des Fossés 
rue des Fossés Melun                          77000
91  Vente Bureaux Paris 75011                                                         Paris                          75011
User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement