Форум сайта python.su
0
Привет всем!
Не могу никак найти как использовать обычный поиск. Есть файл my.txt, в нём несколько строк. Выгружаю из файла строки, и ищу их на странице HTML, если совпадает хоть одна строка, то останавливаю скрипт. Как такое осуществить?
Считываю файл так:
f = open('my.txt') line = f.readline() while line: print (line), line = f.readline() f.close()
Отредактировано tref (Май 12, 2020 13:06:46)
Офлайн
22
Как такое осуществить?Смотря что такое “обычный текст” и “обычный поиск”…
ind = html.find(line) if ind >= 0: # Здесь делаем нужные действия, когда строка найдена
from bs4 import BeautifulSoup soup=BeautifulSoup(html) text = soup.text ind = text.find(line) if ind >= 0: # Здесь делаем нужные действия, когда строка найдена
line = ' '.join(line.split()) text = ' '.join(text.split())
line = line.lower() text = text.lower()
Отредактировано Striver (Май 13, 2020 08:52:34)
Офлайн
0
StriverСпасибо за развернутый ответ!
Смотря что такое “обычный текст” и “обычный поиск”…
import requests urls_ = ['http://localhost/1', 'http://localhost/2'] filenames_ = ['input1.txt', 'input2.txt'] def func(urls, filenames): browser = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) ' +\ 'AppleWebKit/537.36 (KHTML, like Gecko) ' +\ 'Chrome/71.0.3578.98 Safari/537.36' headers = {'User-Agent': browser} for url in urls: html = requests.get(url=url, headers=headers).text for filename in filenames: with open(filename) as f: for line in f: if line.rstrip() in html: print(f'Нашёл строку "{line}" на странице {url}') return func(urls_, filenames_)
import requests import random filenames_ = 'input1.txt' def run(): try: while 5 > 1: browser = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) ' +\ 'AppleWebKit/537.36 (KHTML, like Gecko) ' +\ 'Chrome/71.0.3578.98 Safari/537.36' headers = {'User-Agent': browser} pageNum = random.randrange(1,1000) fullurl = 'http://localhost/'+str(pageNum) for url in fullurl: html = requests.get(url=url, headers=headers).text for filename in filenames: with open(filename) as f: for line in f: if line.rstrip() in html: print(f'Нашёл строку "{line}" на странице {url}') except: run() run()
Отредактировано tref (Май 13, 2020 21:21:48)
Офлайн