我有這個網頁https://www.epant.gr/apofaseis-gnomodotiseis/item/1451-apofasi-730-2021.html
我需要從大桌子上刮倒第二行。換句話說,我需要從表中得到這個 (?νδικα Μ?σα -)。
這是我到目前為止的進展
from bs4 import BeautifulSoup as soup
import requests
import csv
URL = 'https://www.epant.gr/apofaseis-gnomodotiseis/item/1451-apofasi-730-2021.html'
headers1 = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
"X-Amzn-Trace-Id": "Root=1-61acac03-6279b8a6274777eb44d81aae",
"X-Client-Data": "CJW2yQEIpLbJAQjEtskBCKmdygEIuevKAQjr8ssBCOaEzAEItoXMAQjLicwBCKyOzAEI3I7MARiOnssB" }
page = requests.get(URL, headers = headers1)
soup1 = BeautifulSoup(page.content,"html.parser")
soup2 = BeautifulSoup(soup1.prettify(), "html.parser")
soup3 = soup2.find('td', text = "?νδικα Μ?σα")
print(soup3)
非常感謝
非常感謝,它就像一個魅力
uj5u.com熱心網友回復:
您接近解決方案 - 清理您的湯并嘗試獲得結果的父級,這將為您提供整個 tr:
soup.find('td', text = "?νδικα Μ?σα").parent.get_text(strip=True)
或find_next('td)訪問其鄰居的文本:
soup.find('td', text = "?νδικα Μ?σα").find_next('td').text
例子
from bs4 import BeautifulSoup
import requests
import csv
URL = 'https://www.epant.gr/apofaseis-gnomodotiseis/item/1451-apofasi-730-2021.html'
headers1 = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
"X-Amzn-Trace-Id": "Root=1-61acac03-6279b8a6274777eb44d81aae",
"X-Client-Data": "CJW2yQEIpLbJAQjEtskBCKmdygEIuevKAQjr8ssBCOaEzAEItoXMAQjLicwBCKyOzAEI3I7MARiOnssB" }
page = requests.get(URL, headers = headers1)
soup = BeautifulSoup(page.content,"html.parser")
row = soup.find('td', text = "?νδικα Μ?σα").parent.get_text(strip=True)
print(row)
輸出
Eνδικα Μ?σα -
uj5u.com熱心網友回復:
您可以使用該欄位的選擇器。有一種簡單的方法可以使用瀏覽器的檢查器并在復制 > 復制選擇器中單擊所需的 html 標記來復制元素的選擇器。
搭配美麗的湯,您可以使用soup.select(selector). 檔案更好地描述了這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377786.html
