【问题标题】:How to create an integer value from web scraping output如何从网络抓取输出创建整数值
【发布时间】:2020-09-15 03:31:45
【问题描述】:

我正在制作一个简单的抓取算法来提取产品的 gtin。我能够抓取 html 并查明 gtin 编号,但我想知道将其抓取为整数的最佳方法是什么。此外,我如何抓取 content= 之类的内容并获取其分配的编号?

import requests
from bs4 import BeautifulSoup

testing_link = 'https://www.walmart.com/ip/Better-Homes-Gardens-Leighton-Nightstand-Rustic-Cherry-Finish/54445647'

URL = testing_link
page = requests.get(URL)

soup = BeautifulSoup(page.content, 'html.parser')

results = soup.find(itemprop='gtin13')

print(results.prettify())

当我运行它时,我得到了

<span content="0042666029322" itemprop="gtin13"></span>

我希望能够将 0042666029322 作为整数以供以后使用,有什么建议吗?

【问题讨论】:

    标签: python html web-scraping beautifulsoup


    【解决方案1】:

    你不能这样做,leading zero is meant for octal in Python。您可以保存为字符串,然后将其转换为 int。

    >>> content = results.get('content')
    >>> print(content)
    0042666029322
    >>> print(int(content))
    42666029322
    

    【讨论】:

    • 感谢您的帮助!如果我想在前面有前导零怎么办?有没有办法将其包含为 int?
    • 你为什么要这样做?您不能强制数据类型具有前导零,如果您真的想这样做,那么您必须提供自己的数据类型(基于字符串或列表来存储任何前导零)
    猜你喜欢
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    相关资源
    最近更新 更多