Как я могу открыть URL, а затем открыть другой URL, прикрепленный к ключевому слову? - PullRequest
3 голосов
/ 31 марта 2019

По сути, я хочу, чтобы скрипт мог открывать URL, а затем искать ключевое слово и открывать ссылку, прикрепленную к ключевому слову.

Вот пример: я хочу открыть URL-адрес Верховного Нью-Йорка для курток и хочу открыть URL-адрес куртки под названием Cheetah Hooded Jacket (просочился до обновления сайта), который находится в URL-адресе Supreme Jacket. Я должен быть в состоянии сделать это через несколько секунд после обновления сайта, поэтому я не смог бы узнать URL-адрес заранее, чтобы просто открыть его с самого начала. Я должен открыть первый URL-адрес и найти второй, используя ключевое слово, а затем открыть его с помощью Python.

Я уже знаю, как открыть URL:

import webbrowser
webbrowser.open('https://www.supremenewyork.com/shop/all/jackets')

Но я не знаю, как использовать ключевое слово, чтобы найти прикрепленный к нему URL.

1 Ответ

0 голосов
/ 31 марта 2019

Прежде всего, если вы ищете содержимое страницы, вам нужно сделать запрос к странице, а не просто открыть ее. Например, чтобы получить содержимое вашей страницы с помощью модуля requests (получить через pip), вы должны написать следующее:

import requests

req = requests.get('https://www.supremenewyork.com/shop/all/jackets')
req.raise_for_status()

content = req.text()

Затем вы можете использовать регулярные выражения или модуль BeautifulSoup (также через pip), который обрабатывает html, чтобы найти нужную ссылку.
Используя регулярные выражения, ваш код будет выглядеть так:

import re

# get content

for match in re.findall(r'<a.*>', content):
    if match and 'some criteria' in match.group(0):
       new_url = re.search('href=\"(.*)\"', match.group(0))

       if new_url:
           new_url = new_url.group(1)

С этого момента, просто откройте new_url в веб-браузере, и вы готовы идти. Как всегда, посмотрите эти модули самостоятельно, чтобы вы знали, как адаптировать мой код к тому, что вам нужно, и решить другие подобные проблемы в будущем.

P. S. Я не знаю, подходят ли используемые мной регулярные выражения для вашего случая использования, но вы поняли.

Надеюсь, это поможет!

Ссылки

запросов: http://docs.python -requests.org / ru / master /

BeautifulSoup: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

регулярные выражения: https://docs.python.org/3/library/re.html

...