Часть данных не обрабатывается
Есть текстовый файл на 9980 строк, содержащий ссылки. С этих страниц парсится словарь и записывается в таблицу. Программа работает исправно, но обрабатывает только половину ссылок. Не могу понять причину. Подскажите в чем проблема?
from openpyxl import Workbook
from openpyxl.worksheet.table import Table, TableStyleInfo
import requests
from bs4 import BeautifulSoup as bs
import json
num = int(1)
wb = Workbook()
ws = wb.active
ws.append(["Наименование организацтт", "ИНН", "Юридический адресс", "Дата регистрации", "Руководитель", "e-mail", "Номер телефона", "Номер факса", "Web-site"])
keys = 'fullName','inn','address','regDate','director','email','phoneNumber','faxNumber','webSiteUrl'
with open("data_links.txt", 'r') as links_file:
for link in links_file:
r = requests.get(links_file.readline())
soup = str(bs(r.text, "html.parser"))
data = json.loads(soup)
data = {k: data[k] for k in keys}
finish_data = []
for value in data.values():
finish_data.append(value)
ws.append(finish_data)
print(num)
num += 1
wb.save("Organizations.xlsx")
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
# читает очередную строку из файла в переменную link
for link in links_file:
# читает очередную строку из файла и использует её для получения страницы
r = requests.get(links_file.readline())
У вас используется только каждая вторая строка файла. А каждая первая из двух строк попадает в переменную link
и никак не используется. Применяйте какой-то один метод для чтения файла, например, только перебор циклом:
# читает одну строку из файла в переменную link
for link in links_file:
# использует эту строку для получения страницы
r = requests.get(link)