首页 > 解决方案 > Python webscraping - 搜索 EAN 的谷歌结果(13 个字母的数字)

问题描述

我有一个带有厚代码的工具,我已经可以显示谷歌搜索结果文本:

url = "https://www.google.com/search?q=%22ean%22+%22Rowenta%20X-Plorer%20Serie%2075%20RR7687%22&client=firefox-b-d&ei=8W5cYdi-Kc-ckgW-54LIDA&ved=0ahUKEwiY-_zeyrPzAhVPjqQKHb6zAMkQ4dUDCA0&uact=5&oq=%22ean%22+%22Rowenta%20X-Plorer%20Serie%2075%20RR7687%22"
            f = s.get(url)
            eanfield = f.html.xpath(
                '//*[@id="center_col"]', first=True)
            ean = eanfield.text

我想过滤掉搜索“ean”“产品标题”时通常显示在搜索结果中的 EAN

Ean 是一个精确的 13 个字母的数字,这就是为什么我需要从文本结果中只过滤掉一个具有一定长度的数字。如何做到这一点?

标签: pythonpython-requests-html

解决方案


试试这种方式:

efs = f.html.xpath('//span[em["EAN"]]')
for ef in efs:
    print(ef.text.split("EAN: ")[1][:13])

输出:

3221616001114
3221616001220
3221616001114
3221616001114
8710103792925
7332543577989
3221614006807
3221614003868

推荐阅读