Я пытаюсь составить список результатов сканирования для сканирования для сообщений в целях отладки.Невозможно добавить многострочный текст для отображения в виде одного элемента
Вот мой код:
post_list = []
with open('last_crawl_output.txt','r') as f:
crawl_output = f.read()
# Find first 'referer' that indicates start of scrapy crawl AFTER initial crawl of search results page
iter = re.finditer("referer", crawl_output)
referer_list = [m.start(0) for m in iter]
# Find indicator of crawl finished.
iter2 = re.finditer("scrapy", crawl_output)
closing_list = [m.start(0) for m in iter2]
del referer_list[0]
pos1 = referer_list[0]
for pos1 in referer_list:
# Get largest scrapy index after each referer index.
pos2_index = bisect.bisect(closing_list, pos1)
# Get post from positions.
pos2 = closing_list[pos2_index+1]
post = crawl_output[pos1:pos2-21]
Я также попытался с помощью post_list.append(post)
, но безрезультатно.
Вот пример вывода.
Строка Я хочу добавить в post_list
here
Это то, что я получаю взамен. Вот post_list
с постов добавил: output
Когда я использую вставку, она отделяется от \n
Не могли бы вы предоставить пример 'referer_list' и' clos_list'? Я также немного смущен тем, почему вы не просто пишете регулярное выражение, которое ищет как начальные, так и конечные индикаторы за один раз (например, 'post_list = re.findall (" referrer. *? Scrapy ", crawl_output)') , – Blckknght
@Blckknght Я полный noob, так что я делаю это так, как знаю. Я обновил вопрос. Может ли регулярное выражение допускать это в одной строке, как у вас? – Manix
Я уверен, вы можете придумать одно регулярное выражение, которое соответствует тому, что вы ищете, хотя я подозреваю, что я представил в своем комментарии, не так ли (он заканчивается первой ссылкой «scrapy» после того, как «referrer» найдено, а не второе). – Blckknght