剖析分页信息

找到分页信息来源 doc里找找 xhr里找找 js文件里找找
最后搜到在js文件中

使用request请求这个网址,得到的是含有json语法的对象。使用strip函数,删除不需要的地方。
使用json加载字典,可以方便取到想要的值。

import requests
import json
res = requests.get('http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gnxw&cat_2==gdxw1||=gatxw||=zs-pl||=mtjj&level==1||=2&show_ext=1&show_all=1&show_num=22&tag=1&format=json&page=2&callback=newsloadercallback&_=1500521276419')
res.encoding = 'utf-8'
jd = json.loads(res.text.lstrip('  newsloadercallback(').rstrip(');'))
# jd

获取其中的网页

envurls = []
for ent in jd['result']['data']:
    envurls.append(ent['url'])
envurls

将其封装成函数方便调用

import requests
import json
def parseListLinks(url):
    newsdetails = []
    res = requests.get(url)
    jd = json.loads(res.text.lstrip('  newsloadercallback(').rstrip(');'))
    for ent in jd['result']['data']:
        newsdetails.append(getNewsDetail(ent['url']))
    return newsdetails

调用函数

url = 'http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gnxw&cat_2==gdxw1||=gatxw||=zs-pl||=mtjj&level==1||=2&show_ext=1&show_all=1&show_num=22&tag=1&format=json&page=2&callback=newsloadercallback&_=1500521276419'
parseListLinks(url)

使用for循环产生多页链接

url = 'http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gnxw&cat_2==gdxw1||=gatxw||=zs-pl||=mtjj&level==1||=2&show_ext=1&show_all=1&show_num=22&tag=1&format=json&page={}&callback=newsloadercallback&_=1500521276419'
news_total = []
for i in range(1,3):
    newsurl = url.format(i)
    newsary = parseListLinks(newsurl)
    news_total.append(newsary)

其中有些函数可以在之前写的文章中找到http://www.jianshu.com/p/be18c87ad877

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,888评论 0 15
  • 最近在看姜汝祥编的一本书《请给我结果》,里面有一句话感触很深:“一个差的结果也比没有结果强!”呼吁我们要行...
    王保飞阅读 675评论 0 0
  • 因为久石让的钢琴曲summer找到了《菊次郎的夏天》这部电影:听了一首歌,心里愉悦而安全,不再对幸福存疑,无论是过...
    拂尘周周周阅读 75评论 0 2
  • 文:王柠檬 1. 石榴的前男友时隔一年多又重新加她微信,她却咬了咬牙按住消息左滑点了删除键。 凌晨三点多,石榴起床...
    我有一个好故事阅读 5,159评论 22 35