python - 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 个字母的数字,这就是为什么我需要从文本结果中只过滤掉一个具有一定长度的数字。如何做到这一点?
解决方案
试试这种方式:
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
推荐阅读
- json - Go GraphQL 客户端应用于 'hello world' GraphQL 服务器:““hello”的结构字段不存在于任何 1 个要解组的地方”
- angularjs - ng-options 仅适用于名称,不适用于值
- reactjs - 当状态从钩子改变时反应不重新渲染
- python - 函数问题中的 Atom IDE 类型合同
- acumatica - PXSelect 必需参数 Null 或空值
- c# - Web Api Rest 返回带有数据的 Json,但在 Postman 中不返回
- python - findall() 函数中的 2+ 正则表达式参数使用漂亮的汤
- docker - Apache nifi java.net.UnknownHostException:e2a2e8ab6b6b:名称或服务未知
- spring-boot - 如何在 /login 以外的端点注册自定义 UsernamePasswordAuthenticationFilter?
- python-3.x - 是否可以使用 matplotlib 将 xaxis 设置为仅显示开始日期和结束日期?