Jede Hilfe wäre willkommen, da ich neu bei Python bin. Ich habe den folgenden Web Crawler erstellt, aber es crawl nicht alle Seiten, nur 2 Seiten. Welche Änderungen müssen vorgenommen werden, damit alle Seiten gecrawlt werden können?My BeautifulSoup Spider kriecht nur 2 Seiten nicht alle Seiten
Siehe def trade_spider (max_pages) Schleife und am unteren Rand habe ich Trade_Spider (18), die alle Seiten durchlaufen sollte.
Danke für Ihre Hilfe.
import csv
import re
import requests
from bs4 import BeautifulSoup
f = open('dataoutput.csv','w', newline= "")
writer = csv.writer(f)
def trade_spider(max_pages):
page = 1
while page <= max_pages:
url = 'http://www.zoopla.co.uk/for-sale/property/nottingham/?price_max=200000&identifier=nottingham&q=Nottingham&search_source=home&radius=0&pn=' + str(page) + '&page_size=100'
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text)
for link in soup.findAll('a', {'class': 'listing-results-price text-price'}):
href = "http://www.zoopla.co.uk" + link.get('href')
title = link.string
get_single_item_data(href)
page += 1
def get_single_item_data(item_url):
source_code = requests.get(item_url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text)
for item_name in soup.findAll('h2', {'itemprop': 'streetAddress'}):
address = item_name.get_text(strip=True)
writer.writerow([address])
trade_spider(18)
Gibt es einen Fehler, der auftritt oder wird sauber beendet? Verursacht die Variable 'page' 18 oder nur 2? –