gpt4 book ai didi

html - 使用 pandas read_html 提取 href

转载 作者:行者123 更新时间:2023-12-03 18:31:39 25 4
gpt4 key购买 nike

作为我工作的一部分,我需要检查这个 page定期获取特定文件。我发现我可以使用 Pandas 的方法 read_html成功地将表读入数据框(这很方便,因为我可以通过关键字轻松查询特定文档)。
我现在遇到的问题是这种方法无法解析我需要的链接,而是保存纯文本(特别是我指的是第二列,其中包含诸如“1682/0/15-19”之类的数字)。

我想出的代码非常简单:

import pandas as pd

df = pd.read_html('http://www.vru.gov.ua/act_list')[0]

这给了我一个数据框,其中包含我需要的所有信息,除了链接。

是否有可能以某种方式获取链接而不是纯文本,如果是这样,我该怎么做?

我知道如果我使用了 Requests 和 BeautifulSoup 库,就有可能获得 href 链接,但我不知道 BeautifulSoup 库是否足以做到这一点。
有什么提示还是我应该学习 BeautifulSoup?

最佳答案

您可以通过快速谷歌搜索找到教程。您必须遍历标签以编译列表,然后将数据列表转换为数据框:

您也可以像使用 read_html() 那样拉 table ,但您仍然需要返回并获取 html 链接(请参阅下面的选项 2):

import pandas as pd
import requests
from bs4 import BeautifulSoup


url = 'http://www.vru.gov.ua/act_list'



response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table')

records = []
columns = []
for tr in table.findAll("tr"):
ths = tr.findAll("th")
if ths != []:
for each in ths:
columns.append(each.text)
else:
trs = tr.findAll("td")
record = []
for each in trs:
try:
link = each.find('a')['href']
text = each.text
record.append(link)
record.append(text)
except:
text = each.text
record.append(text)
records.append(record)

columns.insert(1, 'Link')
df = pd.DataFrame(data=records, columns = columns)

选项 2:
import pandas as pd
import requests
from bs4 import BeautifulSoup

url = 'http://www.vru.gov.ua/act_list'
df = pd.read_html(url)[0]

response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table')

links = []
for tr in table.findAll("tr"):
trs = tr.findAll("td")
for each in trs:
try:
link = each.find('a')['href']
links.append(link)
except:
pass

df['Link'] = links

输出:
print (df.to_string())
№ Link Номер Вид документу Дата прийняття Назва документу Примiтки
0 1 http://www.vru.gov.ua/act/18641 1682/0/15-19 Рішення 20-06-2019 Про звільнення Бурана О.М. з посади судді Мали...
1 2 http://www.vru.gov.ua/act/18643 1684/0/15-19 Ухвала 20-06-2019 Про задоволення заяви члена Вищої ради правосу...
2 3 http://www.vru.gov.ua/act/18644 1685/0/15-19 Ухвала 20-06-2019 Про відмову у задоволенні заяви адвоката Рохма...
3 4 http://www.vru.gov.ua/act/18649 1690/0/15-19 Ухвала 20-06-2019 Про продовження строку розгляду скарги судді Х...
4 5 http://www.vru.gov.ua/act/18650 1691/0/15-19 Рішення 20-06-2019 Про нагородження заохочувальною відзнакою Вищо...
5 6 http://www.vru.gov.ua/act/18651 1692/0/15-19 Рішення 20-06-2019 Про інформацію робочої групи Вищої ради правос...
6 7 http://www.vru.gov.ua/act/18619 1660/3дп/15-19 Ухвала 19-06-2019 Про відкриття дисциплінарної справи стосовно с...
7 8 http://www.vru.gov.ua/act/18620 1661/3дп/15-19 Ухвала 19-06-2019 Про відмову у відкритті дисциплінарних справ з...
8 9 http://www.vru.gov.ua/act/18624 1665/3дп/15-19 Ухвала 19-06-2019 Прo задоволення заяви члена Третьої Дисципліна...
9 10 http://www.vru.gov.ua/act/18626 1667/3дп/15-19 Ухвала 19-06-2019 Прo задоволення заяви члена Третьої Дисципліна...
10 11 http://www.vru.gov.ua/act/18627 1668/3дп/15-19 Ухвала 19-06-2019 Про відмову у відкритті дисциплінарних справ з...
11 12 http://www.vru.gov.ua/act/18628 1669/3дп/15-19 Ухвала 19-06-2019 Про відмову у відкритті дисциплінарних справ з...
12 13 http://www.vru.gov.ua/act/18635 1676/2дп/15-19 Ухвала 19-06-2019 Про відкриття дисциплінарної справи стосовно с...
13 14 http://www.vru.gov.ua/act/18638 1679/2дп/15-19 Ухвала 19-06-2019 Про відмову у відкритті дисциплінарної справи ...
14 15 http://www.vru.gov.ua/act/18639 1680/2дп/15-19 Ухвала 19-06-2019 Про відмову у відкритті дисциплінарних справ з...
15 16 http://www.vru.gov.ua/act/18640 1681/2дп/15-19 Ухвала 19-06-2019 Про відмову у відкритті дисциплінарних справ з...
16 17 http://www.vru.gov.ua/act/18607 1648/0/15-19 Рішення 18-06-2019 Про звільнення Лучко О.О. з посади судді Івано...
17 18 http://www.vru.gov.ua/act/18608 1649/0/15-19 Ухвала 18-06-2019 Про залишення без розгляду заяви Лазаренко В.В...
18 19 http://www.vru.gov.ua/act/18609 1650/0/15-19 Ухвала 18-06-2019 Про залишення без розгляду подання Третьої Дис...
19 20 http://www.vru.gov.ua/act/18610 1651/0/15-19 Ухвала 18-06-2019 Про залишення без розгляду подання Другої Дисц...
20 21 http://www.vru.gov.ua/act/18615 1656/0/15-19 Рішення 18-06-2019 Про затвердження висновків членів Вищої ради п...
21 22 http://www.vru.gov.ua/act/18586 1627/0/15-19 Рішення 13-06-2019 Про звільнення Римлянської Г.О. ...
22 23 http://www.vru.gov.ua/act/18589 1630/0/15-19 Рішення 13-06-2019 Про затвердження висновку члена Вищої ради пра...
23 24 http://www.vru.gov.ua/act/18590 1631/0/15-19 Рішення 13-06-2019 Про призначення Максимішина С.Т.
24 25 http://www.vru.gov.ua/act/18591 1632/0/15-19 Рішення 13-06-2019 Про призначення Гавришука О.М.

关于html - 使用 pandas read_html 提取 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56757261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com