【问题标题】:How can I extract src data which I got by using beautifulsoup4?如何提取使用 beautifulsoup4 获得的 src 数据?
【发布时间】:2021-07-14 06:40:20
【问题描述】:
import os
import re
import sys
import time
from urllib.request import urlopen

import numpy as np
import pandas as pd
import requests
from bs4 import BeautifulSoup as BS

path = os.getcwd()
time_st = time.time()

url = "URL"

# Regular expressions
id2 = re.compile("gr\d")
fig = re.compile("fig\d")

html = requests.get(url).text
sp = BS(html, "html.parser")
J_Fig = sp.find_all("figure", {"id": fig})
print(J_Fig)
for Fig in J_Fig:
    print(Fig.get("src"))

这是我用过的,我只想从此代码中获取 src 地址。首先,print(J_Fig) 运行良好。

但是,关于数字的所有代码都有。所以,当我在上面运行这段代码时,输​​出只是“无”。

当我只想获取 src 数据时该怎么办?谢谢。

附:我用过print(Fig['src'])。它也没有工作。

【问题讨论】:

  • 嘿@박준서 欢迎来到 SO!能不能提供个网址,方便理解!
  • 很遗憾,当您没有帐户时,此链接不可用。感谢您的帮助
  • 如果链接不可用,至少贴一些页面的HTML代码,方便我们帮忙。
  • 如果链接不可用,请提供 HTML 代码/结构!
  • @박준서 评论不用于分享代码!请edit您的问题并突出显示您要提取的内容!

标签: python beautifulsoup get


【解决方案1】:

以下是您的 cmets 中的答案:

import requests
from bs4 import BeautifulSoup
from pprint import pp


def main(url):
    r = requests.get(url)
    soup = BeautifulSoup(r.text, 'lxml')
    goal = [x.img['src'] for x in soup.select('.imageblock')]
    pp(goal)


main('https://h-glacier.tistory.com/entry/Python-파이썬-BeautifulSoup4를-이용해-웹-크롤링-예제-만들어-보기')

输出:

['https://blog.kakaocdn.net/dn/Lpy7b/btqD6REn6D3/UWaaWCuCBKimtzAHp7lJ71/img.png',
 'https://blog.kakaocdn.net/dn/djSmqZ/btqD6lr4aYI/9XXKO277XFN8REnBWKAU80/img.png',
 'https://blog.kakaocdn.net/dn/ed2ktw/btqD7Hg6lAo/3n12aVBRPiJUiMMhdCaoG0/img.png',
 'https://blog.kakaocdn.net/dn/Mapl1/btqD53yuVe3/Gb7VfyZ1PoKnCSGffkgV2K/img.png',
 'https://blog.kakaocdn.net/dn/7Vged/btqD4y6X9dn/92pKptURb0VHu232pYAxqk/img.png',
 'https://blog.kakaocdn.net/dn/lwzPC/btqD8hbbIbK/jnedJ6lBgKFxUUMzBytSD0/img.png',
 'https://blog.kakaocdn.net/dn/dPJydy/btqD6lyOmpr/PXLYckP40Mvn6JqI1rQsrk/img.png',
 'https://blog.kakaocdn.net/dn/begZOh/btqD8inCSyt/dkV15mFKXFeFlpxDCWQA71/img.png',
 'https://blog.kakaocdn.net/dn/lLVFC/btqD8iOOeF8/dWfpa68wKNXPUboXgcZbz1/img.png',
 'https://blog.kakaocdn.net/dn/bBAlHO/btqD7XKUr8k/gbaOmtBDJS8i9kbIRJKko1/img.png',
 'https://blog.kakaocdn.net/dn/dMyQri/btqD5JAm4m6/htHrr9R8R0YDVhZG0rRJd0/img.png',
 'https://blog.kakaocdn.net/dn/cskT4k/btqD4x780hK/KTjb7CM7st6As4M43aoMX0/img.png',
 'https://blog.kakaocdn.net/dn/do1c5R/btqD6lFFEcH/D5mUX6YQVqEimkeVR7mTnK/img.png',
 'https://blog.kakaocdn.net/dn/eg5W5P/btqD4yeW9Tt/ratG7YkUekSQKsaktxisF0/img.png',
 'https://blog.kakaocdn.net/dn/pFxu2/btqD8PyQre4/8IpreDBy0exCHkSTRb8ne1/img.png']

这是您最初帖子的答案:

import requests
from bs4 import BeautifulSoup
from pprint import pp


def main(url):
    r = requests.get(url)
    soup = BeautifulSoup(r.text, 'lxml')
    goal = [x for x in soup.select('figure[id^=og]')]
    print(goal[0])


main('https://h-glacier.tistory.com/entry/Python-파이썬-BeautifulSoup4를-이용해-웹-크롤링-예제-만들어-보기')

您将找不到该输出的src 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    相关资源
    最近更新 更多