即使没有留下任何东西,我的脚本也会继续打印

My script keeps on printing even when nothing is left

我在 python 中编写了一个脚本,使用 openpyxlSheet1 中获取一些 names 及其对应的 values 并将它们用作参数意味着在 url 中传递,使其成为有效的 url。问题是当我 运行 我的脚本时,即使在 Sheet1 中只有 5 个,它也会继续打印 urls。就我所知,我定义 max row 的方式是准确的。最大行如何变成无限?

这是脚本:

import requests
from openpyxl import load_workbook

wb = load_workbook('ReverseSearch.xlsx')
ws = wb['Sheet1']

def search_name(session,query,query1):
    session.headers = {"User-Agent":"Mozilla/5.0"}
    res = session.get(url.format(query,query1))
    print(res.url)

if __name__ == '__main__':
    url = "https://www.yellowpages.com/los-angeles-ca/mip/{}-{}"
    for row in range(2, ws.max_row + 1): #I used row 2 cause there are headers in row 1
        key = ws.cell(row=row,column=1).value
        key1 = ws.cell(row=row,column=2).value
        session = requests.Session()
        search_name(session,key,key1)

names 我用过:

café claude
sears fine food
chaat cafe
bean bag coffee house
primo patio cafe

values 我用过:

3392129
473113343
18528177
12192803
641231

我应该只获得 5 个链接(完全合格),但当没有剩余参数时我得到空白 urls。

https://www.yellowpages.com/san-francisco-ca/mip/cafe-claude-3392129?lid=3392129
https://www.yellowpages.com/san-francisco-ca/mip/sears-fine-food-473113343?lid=473113343
https://www.yellowpages.com/san-francisco-ca/mip/chaat-cafe-18528177?lid=18528177
https://www.yellowpages.com/san-francisco-ca/mip/bean-bag-coffee-house-12192803?lid=12192803
https://www.yellowpages.com/san-francisco-ca/mip/primo-patio-cafe-641231?lid=641231
https://www.yellowpages.com/los-angeles-ca/mip/None-None
https://www.yellowpages.com/los-angeles-ca/mip/None-None
https://www.yellowpages.com/los-angeles-ca/mip/None-None 

我希望我的脚本在打印 5 个链接时停止。

顺便说一句,url 是这样的:

url = "https://www.yellowpages.com/los-angeles-ca/mip/{}-{}"

我会把它作为评论,但我没有足够的代表。

我的第一个故障排除步骤是检查你得到了什么?

print(ws.max_row)

是否打印 7?

如果它打印出更大的数字,则可能是在计算文档中的空行,在这种情况下,您需要检查单元格的内容以打破循环