[英]ArticleException error in web scraping news articles by python
[英]Python- scraping news articles on daily basis from sites that do not have any feed
我可以使用 Python Beautiful Soup模塊從站點提要 URL 中提取新聞項。 但是假設該站點沒有提要,我需要每天從中提取新聞文章,就像它有提要一樣。
該網站https://www.jugantor.com/沒有提要。 即使通過谷歌搜索,我也沒有找到任何 . 使用以下代碼片段,我嘗試從站點中提取鏈接。 結果顯示諸如“ http://epaper.jugantor.com ”之類的鏈接。 但網站上出現的新聞項目也不包含在提取的鏈接中。
我的代碼:
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import re
def getLinks(url):
USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'
request = Request(url)
request.add_header('User-Agent', USER_AGENT)
response = urlopen(request)
content = response.read().decode('utf-8')
response.close()
soup = BeautifulSoup(content, "html.parser")
links = []
for link in soup.findAll('a', attrs={'href': re.compile("^http://")}):
links.append(link.get('href'))
return links
print(getLinks("https://www.jugantor.com/"))
顯然,這不符合預期目的。 我每天都需要“ https://www.jugantor.com/ ”的所有新聞文章鏈接,就好像我是從提要中獲取它們一樣。 我可以使用 cron 作業每天運行一個腳本。 但挑戰仍然在於識別特定日期發表的所有文章,然后提取它們。
我怎樣才能做到這一點 ? 任何python模塊或算法等?
注意: 這里存在一個有點類似的問題,它沒有提到作為解析源的提要。似乎那里的 OP 關注從將文章列為文本快照的頁面中提取文章。 與那個問題不同,我的問題側重於沒有任何提要的網站。 然而,那里存在的唯一答案並沒有解決這個問題。
我不確定是否理解正確,但我首先看到的是{'href': re.compile("^http://")}
。
您將錯過所有https
和相關鏈接。 可以在這里跳過親屬鏈接而沒有任何問題(我猜..),但顯然不是https
。 所以第一件事:
{'href': re.compile("^https?://")}
然后,為了避免每天下載和解析相同的 URL,您可以提取文章的 id(在https://www.jugantor.com/lifestyle/19519/%E0%...A7%87
id is 19519
) ,將其保存在數據庫中,因此在抓取頁面之前首先驗證 id 是否存在。
最后一件事,我不確定這是否有用,但是這個 url https://www.jugantor.com/todays-paper/讓我覺得你應該只能找到今天的新聞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.