python爬虫(5)之CSDN

CSDN的爬虫相对于doubatop250更加简单,一般只需要title和url即可
下面是相关的代码:

#爬虫之csdn

# 分析url https://www.csdn.net/api/articles?type=more&category=python&shown_offset=0(first page)
#https://www.csdn.net/api/articles?type=more&category=python&shown_offset=0  (second page)
#  发现是一样的
#  原因在于每次刷新页面后随机生成新的页面

import requests

class csdn():
    def __init__(self):
        self.headers = {'user':'Mozilla/5.0',
                        'referer':'https://www.csdn.net/nav/python'}       #请求头,referer在开发者工具中复制
        self.url = 'https://www.csdn.net/api/articles?type=more&category=python&shown_offset=0'

    def get_html(self):
        for i in range(3):
            resp = requests.get(self.url,headers = self.headers).json()
            # print(resp)
        for data in resp['articles']:
            print(data['title'],data['url'])    #在article下找到对我们有用的title和url


    def main(self):
        self.get_html()


spider2 = csdn()
spider2.main()

# 假设直接print(resp.text) 会返回unicode,在网上有相应的解码网站
#unicode的特点是以’/‘开头
#也可以用  resp.text.encode('utf-8').decode('unicose_escape')  直接在pycharm解码
#解码得到的格式大括号里为双引号,是json类型

你可能感兴趣的:(小项目,python,json,爬虫)