弹出窗口/模态/对话框窗口数据抓取

2024-06-02 13:48:37 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以从弹出窗口、模态或对话框窗口中刮取数据

比如说

https://tenders.procurement.gov.ge/public/?lang=en

我需要用户的电子邮件地址>;供应商和你们可以看到用户列表,但我必须打开弹出窗口,以检查任何有关用户的信息

那么,我怎样才能从这些弹出窗口中抓取所有电子邮件呢?可能吗

第一屏:
enter image description here

第二屏:
enter image description here

第三屏:
enter image description here


Tags: 数据用户httpsgtlang电子邮件地址public
1条回答
网友
1楼 · 发布于 2024-06-02 13:48:37

您可以使用requests.session执行以下任务:

import re
import requests
from bs4 import BeautifulSoup

base_url = 'https://tenders.procurement.gov.ge/public/?lang=en'
url = 'https://tenders.procurement.gov.ge/public/library/controller.php?action=org_list'
profile_url = 'https://tenders.procurement.gov.ge/public/library/controller.php?action=profile&org_id='
num = re.compile(r'(\d+)')

with requests.session() as s:
    
    # load cookies:
    s.get(base_url)
    
    soup = BeautifulSoup(s.get(url).content, 'html.parser')
    
    for tr in soup.select('tr[onclick]'):
        n = num.search(tr['onclick']).group(1)
        soup2 = BeautifulSoup(s.get(profile_url + n).content, 'html.parser')
        email = soup2.select_one('td:contains("E-Mail") + td')
        print(email.text)

印刷品:

xxx@yandex.ru
xxx@gmail.com
xxx@gmail.com

...and so on.

相关问题 更多 >