【问题标题】:How can I open a URL and then open another URL attached to a keyword?如何打开一个 URL,然后打开附加到关键字的另一个 URL?
【发布时间】:2019-08-21 13:36:52
【问题描述】:

基本上,我希望脚本能够打开一个 URL,然后搜索关键字并打开附加到关键字的链接。

这是一个示例,我想打开 Supreme New York 的夹克 URL,我想打开 Supreme Jacket URL 上名为 Cheetah Hooded Jacket(在网站更新之前泄露)的夹克的 URL。我需要能够在站点更新后几秒钟内执行此操作,因此我无法事先知道 URL 以从一开始就打开它。我必须打开第一个 URL 并使用关键字找到第二个 URL,然后使用 Python 打开它。

我已经知道如何打开网址了:

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

但我不知道如何使用关键字来查找附加的 URL。

【问题讨论】:

标签: python url bots


【解决方案1】:

首先,如果您要查找页面的内容,您需要向页面发出请求,而不仅仅是打开它。例如,要使用 requests 模块(通过 pip 获取)获取页面内容,您可以编写以下代码:

import requests

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

content = req.text()

然后,您可以使用正则表达式或处理 html 的 BeautifulSoup 模块(也通过 pip)来找到您想要的链接。
使用正则表达式,您的代码将如下所示:

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)

从这里开始,只需在 webbrowser 中打开 new_url 即可。 与往常一样,请自行查找这些模块,以便了解如何根据您的需要调整我的代码,并在未来解决其他类似问题。

P. S. 我不知道我使用的正则表达式是否适合您的用例,但您明白了。

希望这会有所帮助!

链接

请求:http://docs.python-requests.org/en/master/

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

正则表达式:https://docs.python.org/3/library/re.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2015-01-08
    • 2017-01-25
    相关资源
    最近更新 更多