python3 爬取36氪新闻网页

一个做了反爬的36氪,返回数据恶心,感觉是一堆垃圾。这里只是记录一下爬取过程。

(一)爬取环境

  • win10
  • python3
  • scrapy

(二)爬取过程

(1)入口:搜索

image.png

(2)动态js数据加载,查看下一页操作:

image.png

(3)返回数据:

image.png

(4)请求链接

http://36kr.com/api//search/entity-search?page=4&per_page=40&keyword=机器人&entity_type=post&ts=1532794031142&_=1532848230039
分析:这里的ts及后面的都为时间戳格式,可不要,entity_type=post这个是必须要的,可变参数为page

(4)列表页的json数据,id为详情页链接所需标志

image.png
image.png

(5)详情页数据

抓取内容:


image.png
image.png

字段:标题,作者,日期,简要,标签,内容

查看源码,数据全在var props所包含的script标签里面

(6)正则获取并将之转为正常的json数据(理由:json文件可以更好的获取某个字段的内容,单纯全用正则截取的话,不好获取或者直接是获取不到)

image.png

源码

# -*- coding: utf-8 -*-
# @Time    : 2018/7/28 17:13
# @Author  : 蛇崽
# @Email   : 643435675@QQ.com 1532773314218
# @File    : 36kespider.py
import json

import re
import scrapy
import time

class ke36Spider(scrapy.Spider):

    name = 'ke36'

    allowed_domains = ['www.36kr.com']

    start_urls = ['https://36kr.com/']

    def parse(self, response):
        print('start parse -------------------------  ')
        word = '机器人'
        t = time.time()
        page = '1'
        print('t',t)
        for page in range(1,200):
            burl = 'http://36kr.com/api//search/entity-search?page={}&per_page=40&keyword={}&entity_type=post'.format(page,word)
            yield scrapy.Request(burl,callback=self.parse_list,dont_filter=True)

    def parse_list(self,response):
        res = response.body.decode('utf-8')
        # print(res)

        jdata = json.loads(res)
        code = jdata['code']
        timestamp = jdata['timestamp']
        timestamp_rt = jdata['timestamp_rt']
        items = jdata['data']['items']
        m_id =  items[0]['id']
        for item in items:
            m_id = item['id']
            b_url = 'http://36kr.com/p/{}.html'.format(str(m_id))
            # b_url = 'http://36kr.com/p/5137751.html'
            yield scrapy.Request(b_url,callback=self.parse_detail,dont_filter=True)

    def parse_detail(self,response):
        res = response.body.decode('utf-8')
        content = re.findall(r'<script>var props=(.*?)</script>',res)
        temstr = content[0]

        minfo = re.findall('\"detailArticle\|post\"\:(.*?)"hotPostsOf30',temstr)[0]
        print('minfo -----------------------------  ')
        minfo = minfo.rstrip(',')
        jdata = json.loads(minfo)
        print('j'*40)

        published_at = jdata['published_at']
        username = jdata['user']['name']
        title = jdata['user']['title']
        extraction_tags = jdata['extraction_tags']
        content = jdata['content']
        print(published_at,username,title,extraction_tags)
        print('*'*50)
        print(content)

更多资源请访问:

https://blog.csdn.net/xudailong_blog/article/details/78762262

小密圈精品源码根据地

欢迎光临我的小网站:http://www.00reso.com

陆续优化中,后续会开发更多更好玩的有趣的小工具

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 发诗了发诗了~~沉默的看官们,快来和我一起讨论吧~ 一、 我打开门的时候 穿着明白蓝色的那个女人 在爱情的天空 过...
    寒风如纸阅读 294评论 4 1
  • 喜欢一首歌,因为歌里有我的故事;喜欢一座城,因为城里有你的足迹。人的一生不停的走着,只为发现更多精彩…… 我喜欢旅...
    Hooray_W阅读 247评论 0 1
  • 差点就要错过晚安笔记。真怕一觉睡到自然醒,还好家里有人晚睡,把我给“吵醒”了,才得以爬起来把笔记写了。 回到家一天...
    茉莉大大阅读 179评论 0 0
  • 可能是一个眼神就知道对方在想什么这就是闺蜜,无话不谈也是闺蜜,相爱相杀的更是闺蜜,穿衣服反差很大的也是闺蜜,远远的...
    leestudio1980阅读 200评论 0 0