找到网页上的特定字词,并在发现时发送通知

时间:2019-07-23 15:55:08

标签: python

我无法成功创建在单个网页上找到特定单词的代码。我还没有达到我想要的任何距离,但是总体的最终目标是当网页上出现特定字词时,系统会向我发送一封电子邮件。

我刚开始对地球进行编码和谷歌搜索,找不到任何可行的方法。最多我可以加载该网页。

import urllib
import pprint

words = ['DiCaprio']
site = urllib.request.urlopen('https://www.msn.com/')
for word in words:
    if word in site:
       pprint(word)
    else:
       pprint(word, "not found")

我收到以下错误。我不确定我的代码是在球场还是在足球场旁。大声笑!

回溯(最近通话最近):   文件“ C:/ Users / gerar / Documents / Program Builds / PyCharm / Test / Testing.py”,第5行,在     site = urllib.request.urlopen('https://www.msn.com/') AttributeError:模块“ urllib”没有属性“ request”

以退出代码1完成的过程

1 个答案:

答案 0 :(得分:0)

您可以打开页面并通过Selenium获取页面源。 在运行之前安装selenium和webdriver_manager:

    pip install selenium
    pip install webdriver_manager

然后尝试:

    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    from selenium.webdriver.chrome.options import Options

    # if you don't want to see, how browser opens page, use headless flag
    chrome_options = Options()
    chrome_options.add_argument("--headless")
    driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)

    words = ['DiCaprio']
    driver.get('https://www.msn.com/')
    src = driver.page_source
    for word in words:
        if word in src:
            pprint.pprint(word)
        else:
            pprint.pprint(word, "not found")