无法从网页

时间:2018-06-13 12:14:45

标签: python python-3.x web-scraping

我已经在python中编写了一个脚本来从网页上获取phone号码和address,但是当我运行脚本时我什么也得不到。有什么方法可以取两个字段吗?

This is the website url

我试过了:

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下的该站点中可视化并查找它们。

2 个答案:

答案 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)