使用python抓取推送数据?

2024-06-26 13:54:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着刮这个新闻网站的左边: https://www.dr.dk/nyheder/

但数据似乎到处都找不到?无论是在html还是相关的api/json中,它都不是某种推送数据吗?你知道吗

使用Chrome的网络控制台,我发现了这个api,但它不包含左侧的新闻项: https://www.dr.dk/tjenester/newsapp-content/teasers?reqoffset=0&reqlimit=100

有人能帮我吗?我该怎么刮“衰老的NYT”?你知道吗


Tags: 数据https网络apijson网站htmlwww
1条回答
网友
1楼 · 发布于 2024-06-26 13:54:16

我首先用selenium加载页面,然后用BeautifulSoup处理。你知道吗

from selenium import webdriver
from bs4 import BeautifulSoup

url = "https://www.dr.dk/nyheder"
driver = webdriver.Chrome()
driver.get(url)
page_source = driver.page_source

soup = BeautifulSoup(page_source, "lxml")
div = soup.find("div", {"class":"timeline-container"})
headlines = div.find_all("h3")

print(headlines)

似乎找到了头条新闻:

[<h3>Puigdemont: Debatterede spørgsmål af interesse for hele Europa</h3>,
 <h3>Afblæser tsunami-varsel for Hawaii</h3>,
 <h3>56.000 flygter fra vulkan i udbrud </h3>,
 <h3>Pence: USA offentliggør snart plan for ambassadeflytning </h3>,
 <h3>Østjysk motorvej genåbnet </h3>]

不知道这是不是你想要的。你知道吗

-已编辑

更有效的方法是使用一些自定义头创建请求(已经确认这不起作用)

import requests    
headers = {
        "Accept":"*/*",
        "Host":"www.dr.dk",
        "Referer":"https://www.dr.dk/nyheder",
        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"

    }

r = requests.get(url="https://www.dr.dk/tjenester/newsapp-content/teasers?reqoffset=0&reqlimit=100", headers=headers)

r.json()

相关问题 更多 >