python - 使用正则表达式作为 URL 地址?
问题描述
我正在使用 API 抓取一些数据,并且正在搜索具有屏幕名称的数据。我有名称列表,但屏幕名称的格式不同。
例如,Kevin Walker 的网名是 Kevin Walker3。因此,当我遍历所有名称时,我想在 URL 的末尾添加正则表达式,以便我可以搜索 Kevin Walker3 或 Kevin Walker294 或名称后的任何数字。
我的代码如下所示:
intregex = re.compile(r'[-+]?[0-9]+$')
test = zillow_url+"zws-id="+myip+"&screenname="+name+intregex+"&output=json"
我收到以下错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-253-9bd9aba62594> in <module>
1 intregex = re.compile(r'[-+]?[0-9]+$')
----> 2 test = zillow_url+"zws-id="+Sushant+"&screenname="+name+intregex+"&output=json"
TypeError: can only concatenate str (not "re.Pattern") to str
有什么方法可以在字符串中使用正则表达式吗?任何提示或帮助将不胜感激!
解决方案
如果它是......你的代码会更接近(但绝不会工作)
intregex = re.compile(r'[-+]?[0-9]+$')
test = r'zillow_url+"zws-id="+myip+"&screenname="+name+blah+"&output=json"'
intregex.findall(test)
但这行不通。所以,也许看看这个,看看它做了什么......
import re
pattern = re.compile(r'^.*?&(.*?)\+.*?$')
my_string = r'https://helloworld.com-10.00.00.01&MarkyMarkandtheFunkyBunch71+Mark&abc1234'
print(pattern.findall(my_string))
输出:
['MarkyMarkandtheFunkyBunch71']
也许这有助于让你更接近?显然,您编译的正则表达式模式必须与它正在检查的 URL 结构相匹配。
推荐阅读
- sql - 使用多 case 语句时分区顺序子句出错
- go - 如何忽略 go 模板/文本中的元素
- winapi - FindFirstChangeNotification() 触发子目录中的更改,尽管 wWatchSubtree 设置为 FALSE
- neo4j - 如何使用不同的使用 APOC for neo4j 添加多个标签
- scala - 使用无形的通用默认实例为案例类构建,其参数定义了一个通用的 createValue 方法
- c++ - 校准相机以确定内在参数
- json - 如何从某些json值kotlin中删除引号?
- sql - 如何排除HANA中所有列中具有空值的行?
- python - 在 conda 环境中运行 pip
- node.js - core.js:5873 错误类型错误:无法读取未定义的属性“文件名”