Rumah  >  Soal Jawab  >  teks badan

BeautifulSoup menyerap semua data, tetapi .findAll() hanya mengembalikan pautan kepada satu induk

Saya cuba mengikis tapak web menggunakan BeautifulSoup dalam Python. Semua data diserap, termasuk semua pautan yang saya cuba akses. Walau bagaimanapun, apabila saya menggunakan fungsi .findAll(), ia hanya mengembalikan sebahagian daripada pautan yang saya cari. Dalam erti kata lain, hanya pautan dalam xpath berikut dikembalikan

/html/body/div[1]/div/div[2]/div/div[2]/div[1]

Ini akan mengabaikan pautan masuk /html/body/div[1]/div/div[2]/div/div[2]/div[2] /html/body/div[1]/div/div[2]/div/div[2]/div[3] Tunggu

import requests
from bs4 import BeautifulSoup

url = "https://www.riksdagen.se/sv/ledamoter-och-partier/ledamoterna/"
response = requests.get(url)
content = BeautifulSoup(response.content, "html.parser")
mp_pages = []
mps = content.findAll(attrs = {'class': 'sc-907102a3-0 sc-e6d2fd61-0 gOAsvA jBTDjv'})
for x in mps:
    mp_pages.append(x.get('href'))

print(mp_pages)

Saya mahu semua pautan dilampirkan pada senarai mp_pages, tetapi ia hanya pergi ke satu ibu bapa (pautan bermula dengan A) dan nampaknya berhenti pada anak terakhir dan bukannya meneruskan.

Saya telah melihat soalan yang serupa di mana jawapannya adalah menggunakan selenium kerana javascript, tetapi kerana semua pautan berada dalam kandungan, ia tidak masuk akal.

P粉654894952P粉654894952425 hari yang lalu423

membalas semua(1)saya akan balas

  • P粉553428780

    P粉5534287802023-09-15 11:25:57

    Data yang anda lihat pada halaman disimpan sebagai Json dalam