🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ علی
عدم نمایش خروجی
جامعه پایتون (وب) ایجاد شده در ۱۲ اسفند ۱۴۰۱

سلام وقتتون بخیر

با توجه به تغییرات سایت آگهی که استاد معرفی کردن، مجبور بودم یع سری تغییرات در کد بدم

کلاس titlestring مربوط به تگ a حاوی آگهی هاست

اما حالا خروجی برای بنده صفر هست

میشه منو کمک بکنین ممنون میشم

import requests
from bs4 import BeautifulSoup
def get_pages(url):
    response = requests.get(url)
    return response
def find_links(html_doc):
    soup = BeautifulSoup(html_doc, 'html.parser')
    adv_link = soup.find_all('a', attrs={'class': 'titlestring'})
    return adv_link
if __name__ == '__main__':
    url = 'https://bham.craigslist.org/search/hhh#search=1~gallery~0~0'
    response = get_pages(url)
    print(response.status_code)
    adv_link = find_links(response.text)
    print(len(adv_link))
    for link in adv_link:
        print(link)

سلام علی عزیز وقت بخیر

متاسفانه به دلیل وضعیت اینترنت ( چون نیاز به vpn داره ) ریسپانسی دریافت نمیشه . مجدد تست میکنم در اسرع وقت

Reza Mobaraki ۱۲ اسفند ۱۴۰۱، ۰۸:۴۵

ممنونم مهندس عزیز

علی ۱۲ اسفند ۱۴۰۱، ۰۸:۴۷

درود امیدوارم حالتون خوب باشه

طبق بررسی هایی که انجام دادم سایت یه لودر اضافه کرده و محتوای اصلی (body) html بعد از موارد دیگه قرار میگیره .

در نتیجه پیشنهاد من استفاده از یک sleep یا موارد زیر هست. توجه داشته باشید چنین مواقعی باید برید سراغ ابزار‌های یه خورده پیشرفته‌تر مثل selenium

from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://example.com')
r.html.render(wait=2)
tags = r.html.find('tagname')

موفق باشید ?

بهترین پاسخ
Reza Mobaraki ۱۸ اسفند ۱۴۰۱، ۱۹:۵۳