簡體   English   中英

從特定 web 頁面打印表值

[英]Printing table values from specific web page

我想從表中提取並打印特定月份的所有條目

import os
from webdriver_manager.chrome import ChromeDriverManager
import time

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

options = Options()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--start-maximized')
options.page_load_strategy = 'eager'

driver = webdriver.Chrome(options=options)

wait = WebDriverWait(driver, 20)   
driver.get("https://www.sebi.gov.in/sebiweb/home/HomeAction.do?doListing=yes&sid=3&ssid=22&smid=18")

month = "Apr"
year = "2021"

如何打印表中與特定月份和年份匹配的所有值?

你可以嘗試這樣的事情:

driver = webdriver.Chrome()
driver.get('https://www.sebi.gov.in/sebiweb/home/HomeAction.do?doListing=yes&sid=3&ssid=22&smid=18')

month = "Apr"
year = "2021"

for row in driver.find_elements_by_xpath("//table/tbody/tr/td[1]"):
    if month in row.text and year in row.text:
        x = row.find_element_by_xpath("./following-sibling::td")
        print(row.text, " ", x.text)

印刷:

Apr 29, 2021   Rane Brake Lining Ltd. - Post Buyback Public Announcement
Apr 06, 2021   Insecticides (India) Limited - Public Announcement
Apr 06, 2021   Jagran Prakashan Limited - Filing of Public Announcement
Apr 05, 2021   Sreeleathers Limited - Post Buyback Public Announcement

當然,這只會在第一頁上得到結果,如果您想要更多,則需要合並分頁。

首先在過濾器中設置日期范圍。 然后使用data = driver.page_source獲取頁面源

接下來,使用bs4解析您的數據, soup = BeautifulSoup(data) Next loop through for row in soup.select('div.table-scrollable tbody tr')date = row.select('td')[0]title = row.select('td')[1]

快樂編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM