Хотите объединить два python скрипта, которые ищут информацию (1) и объединяют все выходные файлы (2)? - PullRequest
0 голосов
/ 19 апреля 2020

Так что в настоящее время у меня есть два отдельных сценария, которые выполняют эти действия. Я задал вопрос о первой части здесь , если вы хотите увидеть поток.

Первый сценарий принимает URL-ссылку, введенную с указанного веб-сайта c (Каталог IQS), и выводит CSV с названиями и номерами компаний. Я добавил метку времени к имени файла, чтобы он не перезаписывался сам.

import requests
from bs4 import BeautifulSoup
import csv
import time

timestr = time.strftime("%Y%m%d-%H%M%S")

def main(url):
    r = requests.get(url)
    soup = BeautifulSoup(r.content, 'html.parser')
    target = soup.select("h3.cname")
    with open("Autoleads"+timestr+".csv", 'w', newline="") as f:
        writer = csv.writer(f)
        writer.writerow(["Name", "Phone"])
        for tar in target:
            name = tar.find("span", itemprop="name").text
            phone = tar.find("a", itemprop="telephone").text
            writer.writerow([name, phone])

urllink = input("Paste the IQS URL: ")
main(urllink)

Теперь, если я запускаю этот сценарий несколько раз и каждый раз использую другую ссылку, у меня будет несколько CSV-файлов с различной информацией. Таким образом, чтобы объединить их, у нас есть второй сценарий:

fout=open("output.csv","a")
for line in open("leads1.csv"):
    fout.write(line)
for num in range(2,3):
    f = open("leads"+str(num)+".csv")
    f.__next__()
    for line in f:
         fout.write(line)
    f.close()
fout.close()

Однако даже с этими двумя я все еще нахожусь вручную, повторяя действия снова и снова и (на мой взгляд) должен быть в состоянии научиться, как автоматизируйте это.

Любой совет здесь поможет. По сути, я стремлюсь сократить количество выполняемых вручную шагов, и я перечислю их здесь:

  1. Из IQS список страниц , откройте первый.
  2. Прокрутка вниз и выберите ссылку «Просмотреть больше» / «Просмотреть все»
  3. Копировать URL-адрес IQS.
  4. Выполнить python script # 1.
  5. Вставить URL-адрес IQS.
  6. Повторите X количество раз (приблизительно 40 ссылок из первого списка страниц)
  7. Откройте каталог с новыми CSV-файлами, переименуйте все в "приводит" (по возрастанию #) ". Csv)
  8. Настройте скрипт # 2 для l oop, чтобы он соответствовал именам файлов и количеству файлов.
  9. Откройте выходной файл в Excel, Excel, удалите дубликаты и двойные заголовки.
  10. Завершено

Этот процесс теперь дает единый CSV-файл со всеми компаниями и их телефонными номерами, что является конечным желаемым результатом.

Я ищу любые советы, идеи и критику и способы улучшения, так как это просто личная цель обучения.

Спасибо!

...