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

با سلام ببخشید بنده کد زیر رو زدم حالا میخام تگ href این خروجی را بدست بیارم چکار باید انجام بدم.ممنون میشم راهنمایی بفرمایید

import requests
from bs4 import BeautifulSoup
def get_page(url):
    try:
        response = requests.get(url)
    except:
        return None
    print(response.status_code)
    return response
def find_links(html_doc):
    soap = BeautifulSoup(html_doc)
    content = soap.find_all('article', attrs={'class': 'list-item'})
    return content
if __name__ == '__main__':
    link = 'https://www.tasnimnews.com/fa/service/7'
    res = get_page(link)
    links = find_links(res.text)
    listOfLinks = list()
    for li in links:
        print(li.find('a'))

درود وقت بخیر

یک متغیر به اسم base_url تعریف کنید و در نهایت href رو از تگ a استخراج کنید.

اینجا به دلیل اینکه نیازی به slug نبوده من از اخر لینک‌ها برای تمیز‌تر شدن کار حذف کردم

if __name__ == '__main__':
    link = 'https://www.tasnimnews.com/fa/service/7'
    base_url = "https://www.tasnimnews.com"
    res = get_page(link)
    links = find_links(res.text)
    listOfLinks = list()
    for li in links:
        # listOfLinks.append(li.find('a', href=True)['href'])
        href= base_url + li.find('a').attrs['href']
        clean_href = href.rsplit('/', 1)[0]
        listOfLinks.append(clean_href)
    pprint(listOfLinks)

موفق باشید?

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