我現在有這個代碼:
from bs4 import BeautifulSoup
import requests
get = requests.get("https://solmfers-minting-site.netlify.app/")
soup = BeautifulSoup(get.text, 'html.parser')
for i in soup.find_all('script'):
print(i.get('src'))
而且我需要以某種方式將輸出轉換為串列并None從中洗掉值,因為它輸出如下:
jquery.js
nicepage.js
None
None
/static/js/2.c20455e8.chunk.js
/static/js/main.87864e1d.chunk.js
uj5u.com熱心網友回復:
只需將提取的值附加到串列中即可。
result = []
for i in soup.find_all('script'):
elem = i.get('src')
if elem is not None:
result.append(elem)
或使用串列推導:
result = [x['src'] for x in soup.find_all('script') if x.get('src') is not None]
uj5u.com熱心網友回復:
您接近您的目標,但選擇更具體的元素并src在迭代時將其附加到串列中ResultSet:
data = []
for i in soup.find_all('script', src=True):
data.append(i.get('src'))
替代css selectors:
for i in soup.select('script[src]'):
data.append(i.get('src'))
正如已經提到的list comprehension:
[i.get('src') for i in soup.select('script[src]')]
輸出
['jquery.js', 'nicepage.js', '/static/js/2.c20455e8.chunk.js', '/static/js/main.87864e1d.chunk.js']
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/439595.html
