python - 将 BeautifulSoup 输出的字符与声明的字符进行比较时出错
问题描述
我正在尝试从网站中提取一个字符并将其与我在代码中声明的字符进行比较。
就我而言,当我调用.getText()
. 每当我尝试比较字符时,我都会收到此错误消息 - SyntaxError: invalid syntax。
我也很困惑,因为当我在 for 循环中声明它们时一切正常。
这是我的代码:
import requests, bs4
res = requests.get('https://www.example.com')
try:
res.raise_for_status()
except Exception as exc:
print('There was a problem: %s' % (exc))
noStarchSoup = bs4.BeautifulSoup(res.text)
ZElems = noStarchSoup.select('li')
TElems = noStarchSoup.select('a')
for x in range (0, 25):
char1 = ZElems[x].getText()
char2 = 'Z'
if char1 == char2
url = TElems[x].get('href')
print(url)
这是我得到的输出:
if char1 == char2
^
SyntaxError: invalid syntax
如果我在 for 循环之外声明char1
并位于数组中的位置 0,则比较似乎工作正常。位置 0 对应于。char2
char1
'A'
>>> import requests, bs4
>>>
>>> res = requests.get('https://www.example.com')
>>> noStarchSoup = bs4.BeautifulSoup(res.text)
>>> ZElems = noStarchSoup.select('li')
>>> TElems = noStarchSoup.select('a')
>>> char1 = ZElems[0].getText()
>>> char2 = 'A'
>>> char1 == char2
True
关于 Python 中的字符比较,我有什么遗漏吗?
解决方案
推荐阅读
- javascript - 如何在javascript中创建一个限制动作的计时器
- c - 如何使用 OpenMP 在一段时间内并行化代码
- react-native - 在导航器之间导航时如何显示初始屏幕
- node.js - Jest TypeScript:类型 T 上不存在扩展类型
- python - 列表和 NumPy 数组内存大小的区别
- localization - 占位符下的定位器中文单词不起作用
- php - 奏鸣曲管理员:不存在的服务“security.authorization_checker”
- node.js - 松露安装(警告已弃用)
- javascript - 使用 ID 搜索信息 - 在电子表格的不同列中
- sql - 如何在不使用 SQL 中的 PIVOT 函数的情况下进行透视?