gpt4 book ai didi

python - 尝试使用 Python 从标签中提取 'text'

转载 作者:行者123 更新时间:2023-12-01 02:59:21 25 4
gpt4 key购买 nike

我正在尝试提取此页面第一列上的代理 IP 号码 ( https://www.proxynova.com/proxy-server-list/country-fr/ ),只是数字,例如:“178.33.62.155”,但是当我尝试提取相关的所有文本内容时tag ,它没有获取 Ip 文本。

网站上的html标签是:

<td align="left"><script>document.write('23178.3'.substr(2) + '3.62.155');</script>178.33.62.155</td>

然后我相信当我打印文本内容时,上面的IP号(在标签脚本之后,标签内)应该出现,但它没有,按照下面的代码,我到目前为止已经完成了唯一的信息'出现的t​​是IP号码。

知道如何提取此特定 Ip 信息以及为什么当我提取此标签的所有文本内容时它没有出现吗?

from lxml import html
import requests
import re

page = requests.get('https://www.proxynova.com/proxy-server-list/country-fr/')
tree = html.fromstring(page.content.decode('utf-8'))

for elem in tree.xpath('//table[@class="table"]//tbody//td[@align="left"]'):
print elem.text_content()

最佳答案

我建议使用BeautifulSoup 。像这样。

import requests
import re
from bs4 import BeautifulSoup

res = requests.get('https://www.proxynova.com/proxy-server-list/country-fr/')
soup = BeautifulSoup(res.content, "lxml")

REGEX_JS = re.compile("^document\.write\('([^']+)'\.substr\(2\) \+ '([^']+)'\);$")

proxy_ip_list = []
for table in soup.find_all("table", id="tbl_proxy_list"):
for script in table.find_all("script"):
m = REGEX_JS.search(script.text)
if m:
proxy_ip_list.append(m.group(1)[2:] + m.group(2))

for ip in proxy_ip_list:
print(ip)

关于python - 尝试使用 Python 从标签中提取 'text',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43965389/

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