【发布时间】:2026-02-13 14:00:01
【问题描述】:
所以我正在尝试抓取this 新闻网站。我可以从那里的每个主题中抓取新闻文章。但有时文章页面包含超过 1 页,例如 this。下一页具有与第一页相同的 HTML 结构。如果那里有多个页面,有什么方法可以自动抓取下一页上的其余文章?
这是我的代码:
import requests
from bs4 import BeautifulSoup
import pandas as pd
import csv
detik = requests.get('https://www.detik.com/terpopuler')
beautify = BeautifulSoup(detik.content, 'html5lib')
news = beautify.find_all('article', {'class','list-content__item'})
arti = []
for each in news:
try:
title = each.find('h3', {'class','media__title'}).text
lnk = each.a.get('href')
r = requests.get(lnk)
soup = BeautifulSoup(r.text, 'html5lib')
content = soup.find('div', {'class', 'detail__body-text itp_bodycontent'}).text.strip()
print(title)
print(lnk)
arti.append({
'Headline': title,
'Content':content,
'Link': lnk
})
except:
continue
df = pd.DataFrame(arti)
df.to_csv('detik.csv', index=False)
这是下一页按钮图像。 “Selanjutnya”表示下一个,“Halaman”表示页面。
如果您愿意提供帮助,我们将不胜感激。
【问题讨论】:
标签: python web-scraping beautifulsoup