#python #macos #web-scraping #beautifulsoup #terminal
#python #macos #очистка веб-страниц #beautifulsoup #терминал
Вопрос:
Я использую следующий Python для поиска определенного текста на нескольких веб-страницах, затем печатаю найденный текст и любые ссылки, связанные с текстом. Однако запуск скрипта с терминала, похоже, занимает целую вечность (более часа без результатов для сканирования 3 веб-сайтов). Может кто-нибудь, пожалуйста, сказать мне, что я делаю не так?
import requests
from bs4 import BeautifulSoup
#Sites to scan
url_list = ["somesite1","somesite2","somesite3"]
#Keywords to search
the_word = 'Some Text'
total_words = []
for url in url_list:
r = requests.get(url, allow_redirects=False)
soup = BeautifulSoup(r.content.lower(), 'lxml')
words = soup.find_all(text=lambda text: text and the_word.lower() in text)
count = len(words)
words_list = [ ele.strip() for ele in words ]
for word in words:
total_words.append(word.strip())
print('nUrl: {}ncontains {} of word: {}'.format(url, count, the_word))
print(words_list)
#print(total_words)
total_count = len(total_words)
Комментарии:
1. Можете ли вы поделиться URL-адресом сайта и текстом, который хотите найти?
2. У меня есть список сайтов, и я провожу тематическое исследование для школы. Пытаюсь увидеть, на каких сайтах есть ссылка «Не продавать мою личную информацию», а на каких нет. Примеры сайтов: apple.com , cnn.com и т.д.