我已经在python中编写了一个脚本来从网页上获取phone
号码和address
,但是当我运行脚本时我什么也得不到。有什么方法可以取两个字段吗?
我试过了:
import requests
from bs4 import BeautifulSoup
url = "find the url above"
with requests.Session() as session:
s = session.get(url, headers={"User-Agent":"Mozilla/5.0"})
soup = BeautifulSoup(s.text,"lxml")
address = soup.select_one(".adressedetaljer")
print(address)
我在html elements
<div class="adressedetaljer">
<div><img src="/4DCGI/WC_Pedlex_Adresse/864928.jpg" name="adresse"></div><div style="clear: both"></div>
<!--ingen internettadresse-->
<div class="floatContainer">
<div class="ledetekst">Org. form</div>
<div class="verdi">
Fagskole (tilbud godkjent av NOKUT)
</div>
</div> <!--<div style="clear: both"></div>-->
<!--ikke oppgitt klasser-->
<!--ikke oppgitt plasser-->
<div class="floatContainer">
<div class="ledetekst">Målform</div>
<div class="verdi">B</div> <!--<div style="clear: both"></div>-->
</div>
<!--ANMERKNINGER - jb 3.11.2009-->
<!--ingen Anmerkning 1-->
<!--ingen Anmerkning 2-->
<!--END OF ANMERKNINGER-->
</div>
顺便说一句,您无法在此处看到phone
号码或address
。但是,您可以在类名adresse
下的该站点中可视化并查找它们。
答案 0 :(得分:2)
您无法直接从指定网站获取电子邮件和电话号码,因为该字段包含包含电子邮件而且不是字符串,它是一张图片。你应该获取图像的网址,输入OCR API(或训练和构建分类器)。
答案 1 :(得分:0)
这是我从该图像中获取文本而不下载它的方式。
import requests, io, pytesseract
from PIL import Image
response = requests.get('http://skoleadresser.no/4DCGI/WC_Pedlex_Adresse/864928.jpg')
img = Image.open(io.BytesIO(response.content))
text = pytesseract.image_to_string(img)
print(text)