Мой скрипт продолжает печатать, даже когда ничего не осталось - PullRequest
0 голосов
/ 04 июля 2018

Я написал скрипт на python, используя openpyxl, чтобы получить names и соответствующее ему кодирование values из Sheet1 и использовать их в качестве параметров, которые должны быть переданы в URL, чтобы сделать его действительным URL. Проблема в том, что когда я запускаю свой скрипт, он продолжает печатать URL, даже если в Sheet1 их всего 5. Что касается моих знаний, то, как я определил 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 ссылок (полностью), но я получаю пустые URL, когда не осталось параметров.

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/{}-{}"

1 Ответ

0 голосов
/ 04 июля 2018

Я бы поставил это как комментарий, но мне не хватает представителя.

Моим первым шагом к устранению неполадок будет проверка того, что вы получите, если сделаете?

print(ws.max_row)

печатает ли 7?

Если он печатает большее число, он может считать пустые строки в вашем документе, в этом случае вам нужно будет проверить содержимое ваших ячеек, прервав цикл

...