动态网页的爬取,微博,澎湃新闻

动态网页的爬取,首先是澎湃新闻。

澎湃新闻-专注时政与思想-ThePaper.cn

点击进入网页, 点检查,刷新,选择xhr,就可以看到澎湃新闻的ajax请求,会返回一个无格式的网页。

动态网页的爬取,微博,澎湃新闻

 网页是这样的。

随便点开一个。

动态网页的爬取,微博,澎湃新闻

 

preview一下,可以看到是新闻的内容。只不过渲染了一下。

动态网页的爬取,微博,澎湃新闻

 

现在是我们只想要 新闻标题,新闻时间,发布来源。

可以通过css提取。

把返回结果复动态网页的爬取,微博,澎湃新闻制出来,用chrome打开,可以看到 

 使用简单的css选择器,就可以提取。

动态网页的爬取,微博,澎湃新闻

,接下来是程序

 

import requests
import re
import time
from scrapy import Selector

cookies = {
    。。。
}

headers = {
 。。。
}

params = (
    ('topCids', '14468164,14467932,14428130,14467889,14464573,14468222,14468155,14468199,14468103,'),
    ('pageidx', '10'),
    ('lastTime', '1631417006658'),
    ('startTime', '0'),
    ('allStartTime', '1631406393634'),
    ('filterContIds', '14468205,14464549,14468199,14468159,14468194,14468251,14468250,14468222,14468151,14468253'),
)

response = requests.get('https://www.thepaper.cn/load_chosen.jsp', headers=headers, params=params, cookies=cookies)


response.status_code
response.json()
response.text

selector = Selector(response)

news = selector.css("h2 a::text").extract()
print(news)
sources = selector.css(".pdtt_trbs a::text").extract()
print(sources)

news_time = selector.css("div.pdtt_trbs > span:nth-child(2)::text").extract()
print(news_time)

打印结果,没有问题。

上一篇:vuetify


下一篇:嵌入式新闻早班车-第25期