initial commit
This commit is contained in:
96
README.md
96
README.md
@@ -1,3 +1,97 @@
|
|||||||
# news-retriever
|
# news-retriever
|
||||||
|
|
||||||
To retrieve mathematics-related news using Python, you typically scrape trusted sources. Here are some examples.
|
To retrieve mathematics-related news using Python, we typically scrape trusted sources. Here are some examples.
|
||||||
|
|
||||||
|
## Method 1: Use Google News RSS
|
||||||
|
|
||||||
|
For example, we can fetch math-related news via RSS:
|
||||||
|
|
||||||
|
```
|
||||||
|
import requests
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
|
||||||
|
rss_url = "https://news.google.com/rss/search?q=mathematics"
|
||||||
|
|
||||||
|
response = requests.get(rss_url)
|
||||||
|
root = ET.fromstring(response.content)
|
||||||
|
|
||||||
|
for item in root.findall(".//item")[:5]:
|
||||||
|
title = item.find("title").text
|
||||||
|
link = item.find("link").text
|
||||||
|
print("Title:", title)
|
||||||
|
print("Link:", link)
|
||||||
|
print("-" * 40)
|
||||||
|
```
|
||||||
|
|
||||||
|
Running this code gives:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ python3 example1.py
|
||||||
|
Title: Reality cannot be turned into mathematics - IAI TV
|
||||||
|
Link: https://news.google.com/rss/articles/CBMigAFBVV95cUxNcFlOYUo1SWgwUUNXZDRXRU5US0d5MjJleEE0Z0ltN3g5SUJCRUkyR3dKbVRQNTExUWE3bGsyVzlqMlkxemNLME1kdkVuX2RJUmZJX1JJMWx5ZHpBM2dqZWJreVYxWHRJSHpuTW5jN2hDdkxmS0FPV1pRVWtxc0JaRA?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
Title: Mathematical framework maps landscape of student knowledge via short quizzes - Phys.org
|
||||||
|
Link: https://news.google.com/rss/articles/CBMijgFBVV95cUxQOHVYa1lFU2J2dlk2RXc2UFZ3WC1XOEpldURwalJiV2lIRnVZTlRUbDlsa05kakd5cUh2ZC1NTkNLUEJlQ3o4ZkRFaDFTbG9JVk1GZlJ1bHFRQXB0U20yNWJmUTk0M0NJQkdmNlZCQWNIcV9KdVA2eDhyNUFSMDczbF9sQXBHS0NfcUxqSUVB?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
Title: Mathematicians can’t agree on whether 0.999... equals 1 - Scientific American
|
||||||
|
Link: https://news.google.com/rss/articles/CBMimwFBVV95cUxNbVlzQTEtMThYZUpzYVgxa3I2Q0xkV0FvSjRFSV9ENEVhVkNCb1lBREplSjNwLWhvWW9PQ1dXaDR0MVRPUjZrZnNGTU1ZaENsSzJBY1MzdnJLQmNtckF2b3NyZklGd2dVNnlON2NXVGhKR0VlNW1uWVJ5UVRKOU5DUWNTdjZWVG9PWGtSOXFXSzM1c3U0TDRyWU5kdw?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
Title: The mathematical crimes of the Young Sherlock Holmes series - The Conversation
|
||||||
|
Link: https://news.google.com/rss/articles/CBMimgFBVV95cUxPRHl5YzQ4TWJZbDZsZDFiQ1BIaXBrTkdxcm5WMDRpak8yT1ZvdXFqNkVWb2hUeld6dl9lRUNwZWRmbzNMbTZIei1ITkdST3lIaDlCSFkyYndIcTBfRHNXNzdBQkJ3aURNQTdnY24yZzh3QkpoVGxYdDNyMUlwUFNjRWJYdjBPZ0VvUTlubWdHQjg2am4tUFZETEJn?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
Title: ‘Nobel of maths’ for 71-year-old who cracked century-old enigma - The Times
|
||||||
|
Link: https://news.google.com/rss/articles/CBMiiwNBVV95cUxOdkphMDM5TzFNS1d3R3ZzbHNXdWFKRGRzQnNhMnN1NlhQYTZkT3R5QWRQZ3RoRVZ4VVk2eGNMSVZ0MTNwOVBmRWkyc0J4aTBwWFRYNDd5Q082b1dXTEw5Zm9LcExPQ0RmaHJjMFZxS3A0N25NMlNQYk5HYlhzaFQ1MnBxblZCOEhsSnlVcjktYjNBTHdTWl82Tk9LV2I0SUlDZnhQMjdEM25ZWTVjdVQyVjF4bVdjT3A2VGtoTWwzUjU0X2FHYzJfTkV4NFRGeWszNVV4dExEbmV2SkVlNWNOT1ZncEllem8xbGo1NkFtN0M5elR2YW8wYm92ZE1meldpemJWWW9MWU5KMjdDdW8yVmZNT1FTWXFpUlhVbFdBcUZjdnFpMkw2WlNtVHVsTTZ4Wnk0clE3RVQwaDFoZURxTHh1WEFQbEowOWJmcU9HUF9iSXZBODN6LXJvU3lyNktVME5nT3djQ0FYOVBMT2RVRTdYdndCUWVsQ1Vfb0hLYW5OcG9Qb0JMaDlURQ?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
```
|
||||||
|
|
||||||
|
## Method 2: Use Python Libraries
|
||||||
|
Install feedparser (for RSS feeds):
|
||||||
|
|
||||||
|
```
|
||||||
|
$ python3 -m venv news-retriever
|
||||||
|
$ source news-retriever/bin/activate
|
||||||
|
$ pip install feedparser
|
||||||
|
```
|
||||||
|
|
||||||
|
Example with feedparser:
|
||||||
|
|
||||||
|
```
|
||||||
|
import feedparser
|
||||||
|
|
||||||
|
feed = feedparser.parse("https://news.google.com/rss/search?q=mathematics")
|
||||||
|
|
||||||
|
for entry in feed.entries[:5]:
|
||||||
|
print(entry.title)
|
||||||
|
print(entry.link)
|
||||||
|
print("-" * 40)
|
||||||
|
```
|
||||||
|
|
||||||
|
Running this code gives:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ python example2.py
|
||||||
|
Reality cannot be turned into mathematics - IAI TV
|
||||||
|
https://news.google.com/rss/articles/CBMigAFBVV95cUxNcFlOYUo1SWgwUUNXZDRXRU5US0d5MjJleEE0Z0ltN3g5SUJCRUkyR3dKbVRQNTExUWE3bGsyVzlqMlkxemNLME1kdkVuX2RJUmZJX1JJMWx5ZHpBM2dqZWJreVYxWHRJSHpuTW5jN2hDdkxmS0FPV1pRVWtxc0JaRA?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
Mathematical framework maps landscape of student knowledge via short quizzes - Phys.org
|
||||||
|
https://news.google.com/rss/articles/CBMijgFBVV95cUxQOHVYa1lFU2J2dlk2RXc2UFZ3WC1XOEpldURwalJiV2lIRnVZTlRUbDlsa05kakd5cUh2ZC1NTkNLUEJlQ3o4ZkRFaDFTbG9JVk1GZlJ1bHFRQXB0U20yNWJmUTk0M0NJQkdmNlZCQWNIcV9KdVA2eDhyNUFSMDczbF9sQXBHS0NfcUxqSUVB?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
Mathematicians can’t agree on whether 0.999... equals 1 - Scientific American
|
||||||
|
https://news.google.com/rss/articles/CBMimwFBVV95cUxNbVlzQTEtMThYZUpzYVgxa3I2Q0xkV0FvSjRFSV9ENEVhVkNCb1lBREplSjNwLWhvWW9PQ1dXaDR0MVRPUjZrZnNGTU1ZaENsSzJBY1MzdnJLQmNtckF2b3NyZklGd2dVNnlON2NXVGhKR0VlNW1uWVJ5UVRKOU5DUWNTdjZWVG9PWGtSOXFXSzM1c3U0TDRyWU5kdw?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
The mathematical crimes of the Young Sherlock Holmes series - The Conversation
|
||||||
|
https://news.google.com/rss/articles/CBMimgFBVV95cUxPRHl5YzQ4TWJZbDZsZDFiQ1BIaXBrTkdxcm5WMDRpak8yT1ZvdXFqNkVWb2hUeld6dl9lRUNwZWRmbzNMbTZIei1ITkdST3lIaDlCSFkyYndIcTBfRHNXNzdBQkJ3aURNQTdnY24yZzh3QkpoVGxYdDNyMUlwUFNjRWJYdjBPZ0VvUTlubWdHQjg2am4tUFZETEJn?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
‘Nobel of maths’ for 71-year-old who cracked century-old enigma - The Times
|
||||||
|
https://news.google.com/rss/articles/CBMiiwNBVV95cUxPbmVEUWY4QktyNUtrSUptdGw1VHRUVzBPTkdfWGV0aXhGNWpxX3pWeWRvam9scEFYcHUyRlFTMnJVVVcxUVlwMl9oVkpSNDNfYzBkaVdhLVQxUU5YeW5uZWJXLVJQUVdhSjM0MzJsUl85ekduR3FNRGl3eXlYN19ZNzZFOW41eThSdjBVRkxOb2swYnp3N2gtWVNOZW1Rb1JHMDBhRE12SDdSNlJiQWxDMDd5dlRDb3JsUC1XaHgtdVc1eUxCbzYtc2V6dHNSQnRiTXBoMEhzbjRBU1RPTXVCLXU2MHdVTmxUYnJyRUx0ZHozNlZzY1RjQUlybzNZUzJNZnFsb2t2TVQzZUQxS1A2b29XVS1Zcm1qMFF5aHNJQ2lpc1hYNmRtdVN0aWNDLVdRekhZbEprUDZJSk1TV3B2YVhhd0xma3lYbWNBUWkwMXZLU2ZwaGdVUVhzS0lKdTdfMUowWG1oblFUdnl5T1djTDd5Mkd5WjR3ZXdMWTFXQnFfSnpFcHpjZWxQVQ?oc=5
|
||||||
|
----------------------------------------
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tips for Better Results
|
||||||
|
1. Use keywords like:
|
||||||
|
- "pure mathematics"
|
||||||
|
- "applied math"
|
||||||
|
- "math research"
|
||||||
|
- "number theory breakthrough"
|
||||||
|
2. Filter by date or source for relevance.
|
||||||
|
3. Combine with scheduling (e.g., cron job) to automate daily updates.
|
||||||
|
|||||||
14
example1.py
Normal file
14
example1.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import requests
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
|
||||||
|
rss_url = "https://news.google.com/rss/search?q=mathematics"
|
||||||
|
|
||||||
|
response = requests.get(rss_url)
|
||||||
|
root = ET.fromstring(response.content)
|
||||||
|
|
||||||
|
for item in root.findall(".//item")[:5]:
|
||||||
|
title = item.find("title").text
|
||||||
|
link = item.find("link").text
|
||||||
|
print("Title:", title)
|
||||||
|
print("Link:", link)
|
||||||
|
print("-" * 40)
|
||||||
8
example2.py
Normal file
8
example2.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import feedparser
|
||||||
|
|
||||||
|
feed = feedparser.parse("https://news.google.com/rss/search?q=mathematics")
|
||||||
|
|
||||||
|
for entry in feed.entries[:5]:
|
||||||
|
print(entry.title)
|
||||||
|
print(entry.link)
|
||||||
|
print("-" * 40)
|
||||||
Reference in New Issue
Block a user