Я создал программу для поиска только одной страницы, как показано ниже.
import requests
from bs4 import BeautifulSoup
page1 = input("Enter Page Number: ")
jd = input("Enter File text name: ")
with open('E:/demo/' + jd + '.txt', 'a') as f:
f.write(page1 + '\n')
url = 'http://localhost:8888/'
url_ok = url + page1
r = requests.get(url_ok)
soup = BeautifulSoup(r.content)
for link in soup.find_all("a"):
if link.text[0:2] == 'GT':
print(link.text)
f.write(link.text + '\n')
У меня есть сервер в http://localhost: 8888/ и у него есть много страниц с такими номерами, как: - http://localhost: 8888/1 http://localhost: 8888/2 http://localhost: 8888/3 http://localhost: 8888/4 http://localhost: 8888/5..... http://localhost: 8888/1000000
и так много на многих страницах. Эта программа занимает только одну страницу и выполняет поиск результата и записывает в файл. Я хочу создать цикл так, чтобы он мог принимать два номера страниц в качестве ввода, например, страницы 5 и стр. 10. Таким образом, это ищет все со страницы 5 стр. 6 стр. 7 стр. 8 стр. 9 и стр. 10 в соответствии с этой программой.
Вы можете создать такой цикл:
import requests
from bs4 import BeautifulSoup
start, end = 5, 10
base_url = "http://localhost:8888/"
for page in range(start, end):
with open("E:/demo/file{}.txt".format(page), 'a') as f:
url = base_url + str(page)
r = requests.get(url)
soup = BeautifulSoup(r.content)
for link in soup.find_all("a"):
if link.text[0:2] == 'GT':
print(link.text)
f.write(link.text + '\n')
Обратите внимание, что вы все равно можете изменить номер начальной и конечной страницы.
I want to create a loop
- и что вас останавливает? У вас есть конкретный вопрос?