Как сделать поиск каждой страницы с заданными двумя входами страницы в Python 3

1

Я создал программу для поиска только одной страницы, как показано ниже.

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 в соответствии с этой программой.

  • 0
    I want to create a loop - и что вас останавливает? У вас есть конкретный вопрос?
  • 0
    да Вместо этого я хочу искать между двумя страницами. но как код кажется запутанным. потому что, как будто теперь он принимает только одну страницу в качестве ввода. Я хочу ввести две страницы, например, от 5 до 10. Так что поиск от 5 до 10.
Показать ещё 1 комментарий
Теги:
python-3.x

1 ответ

0

Вы можете создать такой цикл:

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')

Обратите внимание, что вы все равно можете изменить номер начальной и конечной страницы.

  • 0
    Ваш код работает, теперь я понимаю начало и конец диапазона. Я снова изменил это и работает успешно. Есть ли способ просмотреть этот код в веб-браузере?
  • 0
    Что вы имеете в виду, просматривая этот код в веб-браузере?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню