【问题标题】:How to modify get_text function of BeautifulSoup according to required formatting?如何根据需要的格式修改 BeautifulSoup 的 get_text 函数?
【发布时间】:2019-11-21 19:34:10
【问题描述】:

我想抓取this 网页。我正在使用 BeautifulSoup。

url="https://www.blockchain.com/btc/block/00000000000000000011898368c395f1c35d56ea9109d439256d935a4fe7d656" 
page=requests.get(url)
soup=BeautifulSoup(page.text,'html.parser')
block_details=soup.find(class_="hnfgic-0 jlMXIC")
print block_details.get_text()

输出是:

Hash00000000000000000011898368c395f1c35d56ea9109d439256d935a4fe7d656Confirmations8Timestamp2019-11-21 17:52Height604806MinerSlushPoolNumber of Transactions2,003Difficulty12,973,235,968,799.78Merkle root49ee8cb431ef3e613fdc9ac3146335d1a608a0e6afb5cf9ab44c9ddc51acfbe9Version0x20000000Bits387,297,854Weight3,993,364 WUSize1,355,728 bytesNonce849,455,972Transaction Volume4560.73542334 BTCBlock Reward12.50000000 BTCFee Reward0.19346486 BTC

但我希望输出为:

Hash
00000000000000000011898368c395f1c35d56ea9109d439256d935a4fe7d656
Confirmations
8
Timestamp
2019-11-21 17:52
Height
604806
.
.
.

我打算在这个字符串中使用strsplit 函数。因此,两个文本之间的行尾分隔符将帮助我使用strsplit("\n") 区分字符串。 请帮忙。

编辑:Selenium 的 .text 函数生成我想要的输出,但我想使用 BeautifulSoup 进行修复。

【问题讨论】:

    标签: html text beautifulsoup screen-scraping strsplit


    【解决方案1】:

    您可以在get_text()方法中添加separator='\n'参数:

    import requests
    from bs4 import BeautifulSoup
    
    url="https://www.blockchain.com/btc/block/00000000000000000011898368c395f1c35d56ea9109d439256d935a4fe7d656"
    page=requests.get(url)
    soup=BeautifulSoup(page.text,'html.parser')
    block_details=soup.find(class_="hnfgic-0 jlMXIC")
    print(block_details.get_text(separator='\n'))  # <-- note the separator parameter
    

    打印:

    Hash
    00000000000000000011898368c395f1c35d56ea9109d439256d935a4fe7d656
    Confirmations
    13
    Timestamp
    2019-11-21 17:52
    Height
    604806
    Miner
    SlushPool
    Number of Transactions
    2,003
    Difficulty
    12,973,235,968,799.78
    Merkle root
    49ee8cb431ef3e613fdc9ac3146335d1a608a0e6afb5cf9ab44c9ddc51acfbe9
    Version
    0x20000000
    Bits
    387,297,854
    Weight
    3,993,364 WU
    Size
    1,355,728 bytes
    Nonce
    849,455,972
    Transaction Volume
    4560.73542334 BTC
    Block Reward
    12.50000000 BTC
    Fee Reward
    0.19346486 BTC
    

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 1970-01-01
      • 2016-11-25
      • 2011-12-21
      • 2014-03-26
      • 2016-01-23
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多