01-11-2023, 11:00 PM
I Used This Python Script to Check a Website Every X Seconds for a Given Word
<div>
<div class="kk-star-ratings kksr-auto kksr-align-left kksr-valign-top" data-payload='{"align":"left","id":"1048684","slug":"default","valign":"top","ignore":"","reference":"auto","class":"","count":"1","legendonly":"","readonly":"","score":"5","starsonly":"","best":"5","gap":"5","greet":"Rate this post","legend":"5\/5 - (1 vote)","size":"24","width":"142.5","_legend":"{score}\/{best} - ({count} {votes})","font_factor":"1.25"}'>
<div class="kksr-stars">
<div class="kksr-stars-inactive">
<div class="kksr-star" data-star="1" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="2" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="3" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="4" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="5" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
</p></div>
<div class="kksr-stars-active" style="width: 142.5px;">
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
</p></div>
</div>
<div class="kksr-legend" style="font-size: 19.2px;"> 5/5 – (1 vote) </div>
</p></div>
<p>I host multiple websites such as </p>
<ul>
<li><a rel="noreferrer noopener" href="https://finxter.com" target="_blank">https://finxter.com</a>, </li>
<li><a rel="noreferrer noopener" href="https://blog.finxter.com" target="_blank">https://blog.finxter.com</a>, and </li>
<li><a href="https://pythononeliners.com">https://pythononeliners.com</a>. </li>
</ul>
<p>Many of them use caching services to speed up the loading time for visitors worldwide. Consequently, when I do change a website, the change does often not appear immediately on the site (because the stale cached site is served up). </p>
<h2>The Project</h2>
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="586" height="880" src="https://blog.finxter.com/wp-content/uploads/2023/01/image-109.png" alt="" class="wp-image-1048727" srcset="https://blog.finxter.com/wp-content/uploads/2023/01/image-109.png 586w, https://blog.finxter.com/wp-content/uplo...00x300.png 200w" sizes="(max-width: 586px) 100vw, 586px" /></figure>
</div>
<p>To ensure that my website is up-to-date, I wrote a simple Python script that helps me regularly check my website every few seconds to see if a certain word appears there. </p>
<p>Because I thought many people will probably have the same problem, I’ll share this code here. So, let’s get started! <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f447.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p class="has-global-color-8-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4ac.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Project Challenge</strong>: How to write a Python script that reads content from a website every <code>x</code> seconds and checks if a specific word appears there?</p>
<h2>The Code</h2>
<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" loading="lazy" width="790" height="569" src="https://blog.finxter.com/wp-content/uploads/2023/01/check_website_word.gif" alt="" class="wp-image-1048710"/></figure>
</div>
<p>I used the following code to accomplish this easily and quickly. You can copy&paste it, just make sure to adjust the highlighted <code>url</code>, <code>word</code>, and <code>x</code> variables to your need:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="5-7" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import requests
import time url = 'https://en.wikipedia.org/wiki/Graph_partition'
word = 'finxter'
x = 60 # seconds between two requests # Repeat forever
while True: # Get the content from the website r = requests.get(url) # Check if word is on website if word in r.text: print("The word appears on the website") else: print("The word does not appear on the website") # Do nothing for some time (e.g., 60 seconds) to avoid spam requests time.sleep(x)
</pre>
<p>In this case, I check the Wikipedia page on Graph Partitioning if the keyword <code>'finxter'</code> appears there. If you need to check another word on another URL, just change the variables accordingly. </p>
<h2>Code Explanation</h2>
<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" loading="lazy" width="1024" height="768" src="https://blog.finxter.com/wp-content/uploads/2023/01/image-107-1024x768.png" alt="" class="wp-image-1048724" srcset="https://blog.finxter.com/wp-content/uploads/2023/01/image-107-1024x768.png 1024w, https://blog.finxter.com/wp-content/uplo...00x225.png 300w, https://blog.finxter.com/wp-content/uplo...68x576.png 768w, https://blog.finxter.com/wp-content/uplo...ge-107.png 1174w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
<p>This code snippet uses the Python <code><a href="https://blog.finxter.com/python-requests-library/" data-type="post" data-id="37796" target="_blank" rel="noreferrer noopener">requests</a></code> library to read from a website every two seconds and check if a certain word appears there. </p>
<p>You use the <code>requests</code> library to issue an HTTP request to the specified website and save the response in the variable <code>r</code>.</p>
<p class="has-base-background-color has-background"> <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f449.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/python-requests-get-the-ultimate-guide/" data-type="post" data-id="37837" target="_blank">Python Request Library – Understanding <code>get()</code></a></p>
<p>Then you check if the word appears in the response text using <code>r.text</code>.</p>
<ul>
<li>If it does, it <a rel="noreferrer noopener" href="https://blog.finxter.com/python-print/" data-type="post" data-id="20731" target="_blank">prints</a> the message <code>"The word appears on the website"</code> and </li>
<li>If it does not, it prints the message <code>"The word does not appear on the website"</code>. </li>
</ul>
<p>Finally, the code pauses for two (or <code>x</code>!) seconds before making another request. This process is repeated continuously to ensure that the website is checked regularly.</p>
<p>You can stop the code by hitting <code>CTRL+C</code>. </p>
<p class="has-base-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f449.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/how-to-stop-a-python-script-keyboard-and-programmatically/" data-type="post" data-id="23541" target="_blank" rel="noreferrer noopener">How to Stop a Python Script?</a></p>
</div>
https://www.sickgaming.net/blog/2023/01/...iven-word/
<div>
<div class="kk-star-ratings kksr-auto kksr-align-left kksr-valign-top" data-payload='{"align":"left","id":"1048684","slug":"default","valign":"top","ignore":"","reference":"auto","class":"","count":"1","legendonly":"","readonly":"","score":"5","starsonly":"","best":"5","gap":"5","greet":"Rate this post","legend":"5\/5 - (1 vote)","size":"24","width":"142.5","_legend":"{score}\/{best} - ({count} {votes})","font_factor":"1.25"}'>
<div class="kksr-stars">
<div class="kksr-stars-inactive">
<div class="kksr-star" data-star="1" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="2" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="3" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="4" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" data-star="5" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
</p></div>
<div class="kksr-stars-active" style="width: 142.5px;">
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
<div class="kksr-star" style="padding-right: 5px">
<div class="kksr-icon" style="width: 24px; height: 24px;"></div>
</p></div>
</p></div>
</div>
<div class="kksr-legend" style="font-size: 19.2px;"> 5/5 – (1 vote) </div>
</p></div>
<p>I host multiple websites such as </p>
<ul>
<li><a rel="noreferrer noopener" href="https://finxter.com" target="_blank">https://finxter.com</a>, </li>
<li><a rel="noreferrer noopener" href="https://blog.finxter.com" target="_blank">https://blog.finxter.com</a>, and </li>
<li><a href="https://pythononeliners.com">https://pythononeliners.com</a>. </li>
</ul>
<p>Many of them use caching services to speed up the loading time for visitors worldwide. Consequently, when I do change a website, the change does often not appear immediately on the site (because the stale cached site is served up). </p>
<h2>The Project</h2>
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="586" height="880" src="https://blog.finxter.com/wp-content/uploads/2023/01/image-109.png" alt="" class="wp-image-1048727" srcset="https://blog.finxter.com/wp-content/uploads/2023/01/image-109.png 586w, https://blog.finxter.com/wp-content/uplo...00x300.png 200w" sizes="(max-width: 586px) 100vw, 586px" /></figure>
</div>
<p>To ensure that my website is up-to-date, I wrote a simple Python script that helps me regularly check my website every few seconds to see if a certain word appears there. </p>
<p>Because I thought many people will probably have the same problem, I’ll share this code here. So, let’s get started! <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f447.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p class="has-global-color-8-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4ac.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Project Challenge</strong>: How to write a Python script that reads content from a website every <code>x</code> seconds and checks if a specific word appears there?</p>
<h2>The Code</h2>
<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" loading="lazy" width="790" height="569" src="https://blog.finxter.com/wp-content/uploads/2023/01/check_website_word.gif" alt="" class="wp-image-1048710"/></figure>
</div>
<p>I used the following code to accomplish this easily and quickly. You can copy&paste it, just make sure to adjust the highlighted <code>url</code>, <code>word</code>, and <code>x</code> variables to your need:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="5-7" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import requests
import time url = 'https://en.wikipedia.org/wiki/Graph_partition'
word = 'finxter'
x = 60 # seconds between two requests # Repeat forever
while True: # Get the content from the website r = requests.get(url) # Check if word is on website if word in r.text: print("The word appears on the website") else: print("The word does not appear on the website") # Do nothing for some time (e.g., 60 seconds) to avoid spam requests time.sleep(x)
</pre>
<p>In this case, I check the Wikipedia page on Graph Partitioning if the keyword <code>'finxter'</code> appears there. If you need to check another word on another URL, just change the variables accordingly. </p>
<h2>Code Explanation</h2>
<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" loading="lazy" width="1024" height="768" src="https://blog.finxter.com/wp-content/uploads/2023/01/image-107-1024x768.png" alt="" class="wp-image-1048724" srcset="https://blog.finxter.com/wp-content/uploads/2023/01/image-107-1024x768.png 1024w, https://blog.finxter.com/wp-content/uplo...00x225.png 300w, https://blog.finxter.com/wp-content/uplo...68x576.png 768w, https://blog.finxter.com/wp-content/uplo...ge-107.png 1174w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
<p>This code snippet uses the Python <code><a href="https://blog.finxter.com/python-requests-library/" data-type="post" data-id="37796" target="_blank" rel="noreferrer noopener">requests</a></code> library to read from a website every two seconds and check if a certain word appears there. </p>
<p>You use the <code>requests</code> library to issue an HTTP request to the specified website and save the response in the variable <code>r</code>.</p>
<p class="has-base-background-color has-background"> <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f449.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/python-requests-get-the-ultimate-guide/" data-type="post" data-id="37837" target="_blank">Python Request Library – Understanding <code>get()</code></a></p>
<p>Then you check if the word appears in the response text using <code>r.text</code>.</p>
<ul>
<li>If it does, it <a rel="noreferrer noopener" href="https://blog.finxter.com/python-print/" data-type="post" data-id="20731" target="_blank">prints</a> the message <code>"The word appears on the website"</code> and </li>
<li>If it does not, it prints the message <code>"The word does not appear on the website"</code>. </li>
</ul>
<p>Finally, the code pauses for two (or <code>x</code>!) seconds before making another request. This process is repeated continuously to ensure that the website is checked regularly.</p>
<p>You can stop the code by hitting <code>CTRL+C</code>. </p>
<p class="has-base-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f449.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/how-to-stop-a-python-script-keyboard-and-programmatically/" data-type="post" data-id="23541" target="_blank" rel="noreferrer noopener">How to Stop a Python Script?</a></p>
</div>
https://www.sickgaming.net/blog/2023/01/...iven-word/