Адаптация Craigslist Scraper Python

Я пытаюсь адаптировать скребок для Craigslist на Python 2.7, который я нашел в Интернете, для работы с Python 3.6.

Но каждый раз, когда я запускаю скрипт на python, он ничего не возвращает. Это потому, что я не нацеливаюсь на правильные теги HTML? и если да, то как я нацелился бы на правильные HTML-теги?

Я предполагаю, что именно эта часть кода здесь:

    for listing in soup.find_all('p',{'class':'result-row'}):
    if listing.find('span',{'class':'result-price'}) != None:

Полный скрипт ниже.

Заранее спасибо.

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

URL = 'https://vancouver.craigslist.ca/search/sss?query=Vespa'
BASE = 'https://vancouver.craigslist.ca/'

response = requests.get(URL)

soup = BeautifulSoup(response.content,"html.parser")
for listing in soup.find_all('p',{'class':'result-row'}):
    if listing.find('span',{'class':'result-price'}) != None:
        price = listing.text[2:6]
        price = int(price)
        if price <=3600 and price > 1000:
            print (listing.text)
            link_end = listing.a['href']
            url = urljoin(BASE, link_end)
            print (url)
            print ("\n")
print('test')

1 ответ

Вы правы в том, что это вероятная проблема:

 for listing in soup.find_all('p',{'class':'result-row'}):
    if listing.find('span',{'class':'result-price'}) != None:

Этот фрагмент должен быть отредактирован для конкретной веб-страницы, которую вы просматриваете. Вы посмотрели HTML-код страницы и проверили эти две строки? Если нет, щелкните правой кнопкой мыши страницу и выберите "просмотреть исходный код страницы". Затем вы должны найти конкретные данные, которые вы хотите очистить.

Если я хочу получить что-то с веб-страницы, которая выглядит следующим образом в HTML:

<div class='what'>hello</div>

Я бы изменил этот код выше на это:

for listing in soup.find_all('div',{'class':'what'}):
     # do something
Другие вопросы по тегам