python - 在 python 3 BeautifulSoup 中查找命令没有结果
问题描述
当我输入我想要的地方的全名时,会出现结果,但是当我将其保留为 * 时,它没有找到任何结果,我认为它给出了错误。您有任何解决方案建议吗?如果你用一个例子来解释,我会很高兴。在此先感谢您的时间
import requests
from bs4 import BeautifulSoup
import re
import wget
res = requests.post("https://store.rg-adguard.net/api/GetFiles", "type=CategoryId&url=7d949c6e-f0df-4325-b022-9e031ff18885&ring=WIS&lang=en-US", headers={
"content-type": "application/x-www-form-urlencoded"
})
html = BeautifulSoup(res.content, "lxml")
a = html.find("a", string=re.compile(
"54406Simizfo\.WSATools*\.msixbundle"))
# 54406Simizfo.WSATools_0.1.56.0_neutral_~_f0x555vvp18ze.msixbundle
link = a["href"]
print(link)
输出
Traceback (most recent call last):
File "filename.py", line 12, in <module>
link = a["href"]
TypeError: 'NoneType' object is not subscriptable
解决方案
在正则表达式中使用 * 时,您必须封装表达式。采用:
"54406Simizfo\.WSATools(.)*\.msixbundle"
而不仅仅是
"54406Simizfo\.WSATools*\.msixbundle"
(.) 将匹配单个字符。(.)* 将匹配任意数量的字符。
推荐阅读
- vue.js - Vuetify Datables - 扩展项目槽过渡
- javascript - 反应导航的透明背景未正确应用
- python - Python:watchdog.observers.join() 的问题
- c# - ASP.NET Web API - 请求的资源不支持 http 方法“GET”
- php - 在 PHP 中从字符串中提取字符串
- javascript - 单击,getElementByClassName 等 for() 不起作用
- overriding - 覆盖派生类的方法
- sass - 是否可以获得类似于 JavaScript 的 SCSS mixin 的所有参数?
- javascript - 使用选择值在 wordpress 中显示/隐藏部分
- javascript - 将多个文件上传到 Firebase 存储,当所有上传完成后,订阅 forkJoin