Banky 发表于 2023-6-1 14:27:14

如何在url标签相同的情况下,爬取下一个数据呢?

如题,网页源代码如下:


我的代码

def find_company(res):
    soup = bs4.BeautifulSoup(res.text, 'html.parser')

    # 公司名
    company = []
    targets = soup.find_all("span", class_="ttspan")
    for each in targets:
      company.append(each.text)

    # 主营产品
    products = []
    targets = soup.find_all("span", class_="clr")
    for each in targets:
      products.append(each.text)

    # 经营模式
    busmdl = []
    targets = soup.find_all("span", class_="clr")
    for each in targets:
      busmdl.append(each.text)

    # 成立时间
    estabtime = []
    targets = soup.find_all("span", class_="clr")
    for each in targets:
      estabtime.append(each.text)

    # 公司地址
    address = []
    targets = soup.find_all("span", class_="clr")
    for each in targets:
      address.append(each.text)

    result = []
    length = len(company)
    for i in range(length):
      result.append(, products, busmdl, estabtime, address])

    return result

这样下来每个信息都会被同样的循环4遍导致输出内容一样,如何使用bs4找到特定的数据呢?

歌者文明清理员 发表于 2023-6-1 14:31:37

本帖最后由 歌者文明清理员 于 2023-6-1 14:53 编辑

爬取一次不就行了吗
def find_company(res):
    soup = bs4.BeautifulSoup(res.text, 'html.parser')

    company =
    ress =
    products = ress[::4]
    busmdl = ress
    estabtime = ress
    address = ress

    result =

    return result

Banky 发表于 2023-6-1 14:46:50

歌者文明清理员 发表于 2023-6-1 14:31
爬取一次不就行了吗

虽然有bug,但我看懂方法了,感谢老哥带我走出误区

歌者文明清理员 发表于 2023-6-1 14:48:11

Banky 发表于 2023-6-1 14:46
虽然有bug,但我看懂方法了,感谢老哥带我走出误区

{:10_277:}你不给链接我不知道我的代码写的对不对

歌者文明清理员 发表于 2023-6-1 14:50:17

Banky 发表于 2023-6-1 14:46
虽然有bug,但我看懂方法了,感谢老哥带我走出误区

我知道代码错在哪里了,改了
页: [1]
查看完整版本: 如何在url标签相同的情况下,爬取下一个数据呢?