我正在嘗試從頁面上的源代碼中提取文本。在標簽 and 中,我想提取這個:
<script src="/_next/static/d5fgdrSQl/_buildM.js" defer=""></script>
d5fgdrSQl 是一個動態資料,我每天都需要精確地廢棄這個密鑰。
我的腳本是這樣開始的,但我不知道我該怎么做。
from bs4 import BeautifulSoup
import re
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36'}
urlweb = 'https://www.thenameofthewebiste.com'
r1 = requests.get(urlweb,headers=headers)
s1 = BeautifulSoup(r1.text, 'html.parser')
TAG = s1.find_all('_buildM')
print(TAG)
uj5u.com熱心網友回復:
您需要傳遞一個用戶代理標頭,然后您可以使用一個 attribute = value css 選擇器,以 $ 運算子結尾來定位腳本 src
import requests
from bs4 import BeautifulSoup as bs
r = requests.get('https://www.paris-turf.com/', headers = {'User-Agent':'Mozilla/5.0'})
soup = bs(r.content, 'lxml')
print(soup.select_one('[src$="_buildManifest.js"]')['src'].split('/')[3])
uj5u.com熱心網友回復:
要動態選擇,您可以使用 re
from bs4 import BeautifulSoup
import re
doc ='''
<script src="/_next/static/85565454878CDDS7785/_builddata.js" defer=""></script>
'''
soup = BeautifulSoup(doc,'lxml')
script= soup.find("script")
s=script['src']
d=re.search(r'(\d \w \d )',s).group(1)
print(d)
輸出
85565454878CDDS7785
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/392392.html
