稍微黑客一下,就可以在bs4
和pandas
的帮助下得到电话号码.
例如:
import json
import re
import pandas as pd
import requests
from bs4 import BeautifulSoup
url = "https://hipages.com.au/connect/makermanservices"
script_text = "window.__INITIAL_PROPS__="
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.48",
}
soup = BeautifulSoup(requests.get(url, headers=headers).content, "lxml")
script = soup.find("script", string=lambda t: t and script_text in t)
data = json.loads(re.search(script_text + r"(.+)", script.string).group(1))
df = (
pd.read_json(data)
["fetchKey-7-0-0_/connect/makermanservices"]
["site"]
["primary_location"]
["phone"]
)
print(df)
这应该打印出来:
1800 801 828