Добавить URL в заданную подстроку из целого ряда - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь отформатировать URL данного файла.

URL имеют следующий формат:

http://randomtext&of=randomtext&=.com

Существует метод init, который считывает URL-адреса из файла:

  def __init__(self,filename=None):
    if filename:
        with open('urls.txt') as f:
            self.start_urls = [url.strip() for url in f.readlines()]

Я могу добавить в конец URL-адреса диапазон целых чисел:

    def __init__(self,filename=None):
    if filename:
        with open('urls.txt') as f:
            self.start_urls = [url.strip() for url in f.readlines()]
            self.start_urls = [url + str(i*10) for i in range(0,25) for url in self.start_urls] 

Мой вопрос заключается в том, как добавить строку к подстроке '= =' в вышеуказанных URL-адресах с рядом целых чисел, например:

  1. http://randomtext&of=1randomtext
  2. http://randomtext&of=2randomtext
  3. http://randomtext&of=3randomtext

Заранее спасибо!

1 Ответ

0 голосов
/ 10 апреля 2020

Вы можете использовать функцию sub () из re-module pythons, чтобы заменить числа в urls вашими числами из заданного диапазона. Поэтому, основываясь на предоставленном вами примере, одно из возможных решений может быть следующим:

import re

def __init__(self,filename=None):
    if filename:
        with open('urls.txt') as f:
            self.start_urls = [url.strip() for url in f.readlines()]
            self.start_urls = [re.sub("[0-9][0-9]*", str(i*10), url) for i in range(0,25) for url in self.start_urls]

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...