我想删除同一网站不同页面上的信息,societe.com和我有几个问题.

首先,这里是我设法做到的代码,我承认我是一个新手

我只放了两个URL来查看循环是否有效,以及一些信息,当一切正常时,我可以添加一些

urls = ["https://www.societe.com/societe/decathlon-france-500569405.html","https://www.societe.com/societe/go-sport-312193899.html"]
for url in urls:
    response = requests.get(url, headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'})
    soup = BeautifulSoup(response.text, "html.parser")
    numrcs = soup.find("td", class_="numdisplay")
    nomcommercial = soup.find("td", class_="break-word")
    print(nomcommercial.text)
    print(numrcs.text.strip())
    numsiret = soup.select('div[id^=siret_number]')
    for div in numsiret:
        print(div.text.strip())
    formejuri = soup.select('div[id^=catjur-histo-description]')
    for div in formejuri:
        print(div.text.strip())
    infosend = {
        'numrcs': numrcs,
        'nomcommercial':nomcommercial,
        'numsiret':numsiret,
        'formejuri':formejuri
    }
    tableau.append(infosend)
print(tableau)

my_infos = ['Numéro RCS',  'Numéro Siret ','Forme Juridique']

my_columns = [
    np.tile(np.array(my_infos), len(nomcommercial))
]

df = pd.DataFrame( tableau,index=nomcommercial, columns=my_columns)
df

当我运行循环时,我得到了正确的信息,比如

DECATHLON FRANCE
Lille Metropole B 500569405
50056940503239
SASU Société par actions simplifiée à associé unique

但我想把所有这些信息放在一个表格中,但我真的不能,只有最后一家公司出现,数据毫无意义,我试图遵循一个教程,但没有成功.

如果你能帮助我,我会非常高兴

推荐答案

要获取有关公司的数据,可以使用下一个示例:

import requests
import pandas as pd
from bs4 import BeautifulSoup


urls = [
    "https://www.societe.com/societe/decathlon-france-500569405.html",
    "https://www.societe.com/societe/go-sport-312193899.html",
]

headers = {
    "User-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"
}

data = []
for url in urls:
    soup = BeautifulSoup(
        requests.get(url, headers=headers).content, "html.parser"
    )
    title = soup.select_one("#identite_deno").get_text(strip=True)
    rcs = soup.select_one('td:-soup-contains("Numéro RCS") + td').get_text(
        strip=True
    )
    siret_number = soup.select_one("#siret_number").get_text(strip=True)
    form = soup.select_one("#catjur-histo-description").get_text(strip=True)

    data.append([title, url, rcs, siret_number, form])


df = pd.DataFrame(
    data,
    columns=["Title", "URL", "Numéro RCS", "Numéro Siret", "Forme Juridique"],
)
print(df.to_markdown())

输出:

Title URL Numéro RCS Numéro Siret Forme Juridique
0 DECATHLON FRANCE (DECATHLON DIRECTION GENERALE FRANCE) https://www.societe.com/societe/decathlon-france-500569405.html Lille Metropole B 500569405 50056940503239 SASU Société par actions simplifiée à associé unique
1 GO SPORT https://www.societe.com/societe/go-sport-312193899.html Grenoble B 312193899 31219389900191 Société par actions simplifiée

Python相关问答推荐

Python Pandas—时间序列—时间戳缺失时间精确在00:00

从列表中获取n个元素,其中list [i][0]== value''

如何在海上配对图中使某些标记周围的黑色边框

无法在Spyder上的Pandas中将本地CSV转换为数据帧

numpy数组和数组标量之间的不同行为

如何反转一个框架中列的值?

将字节序列解码为Unicode字符串

如何在Quarto中的标题页之前创建序言页

运行从Airflow包导入的python文件,需要airflow实例?

通过PyTorch中的MIN函数传递渐变

获取每行NumPy最大出现次数的所有值

是什么导致了这个Gekko语法错误:函数字符串的语法错误:缺少左括号?

使用极轴 Select 一系列柱

JAX在接受数组的简单函数上使用.grad:`ConcretizationTypeError:在需要具体值的地方遇到抽象跟踪器值`

用tab键改变焦点的Qt事件

在Python中用两个图像制作一个图像

在python中使用beta.rvs生成矩阵的最快方法

通过np.interp的辅助x轴:如何更改xlims

如何使用Python模式匹配来匹配类类型?

CKEditor更新通知