在此頁面中,在“依賴項”列表下有兩種類型的 url。其中一個來自官方軟件包站點(“ https://archlinux.org/packages/ ”),另一個來自用戶軟件包網站(“ https://aur.archlinux.org/packages/ ”)。我想將它們提取為一個單獨的列表。根據這個 BeautifulSoup 的文檔,到目前為止我想出了這樣的東西:sauce = urllib.request.urlopen("https://aur.archlinux.org/packages/blockify/").read()soup = bs.BeautifulSoup(sauce, 'lxml')official_dependencies = []aur_dependencies = []for h3 in soup.find_all('h3'): if "Dependencies" in h3.text: for url in h3.find_all_next('a', attrs={'href': re.compile("^https://www.archlinux.org/packages/")}): official_dependencies.append(url.get('href'))這對我的第一個目標很有效。但我不確定我應該如何提取黃色葡萄球菌的依賴,因為他們href是一樣的東西/packages/package_name/,而不是https://aur.archlinux.org/packages/package_name/。而且,在官方包名稱旁邊的括號中還寫了一些 aur 依賴項。例如,alsa-utils (alsa-utils-transparent)。我想避免刮掉那些替代的 aur 包。我對 bs4 比較陌生,不知道正則表達式,所以我對如何解決這個問題有點困惑。如果有人能告訴我解決這個問題的方法,我會很高興。謝謝
添加回答
舉報
0/150
提交
取消