实例2--起点中文网信息定向爬虫实例

实例2–起点中文网信息定向爬虫实例
参考博客开始学习:https://www.cnblogs.com/Jerry-Dong/p/7656345.html
伪装浏览器:https://www.jianshu.com/p/0baa16519237
常用正则表达式:https://www.cnblogs.com/171207xiaohutu/p/8001001.html
一开始想爬取淘宝网页的,但是被反爬虫限制了,尝试爬取起点中文网了
下面是代码:

# 起点中文网信息定向爬虫实例
"""
Created on 2019-06-20
@author: DaDaBaoBaoRen
"""

import re
import requests


def getHTMLText(url):
    try:
        # 伪装成浏览器
        # 添加头部,伪装浏览器,字典格式
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}
        # 增加headers参数
        response = requests.get(url=url, headers=headers)
        response.encoding = response.apparent_encoding
        return response.text
    except:
        return ''


def parsePage(ilt, html):
    try:
        # 原生字符串,最好加上r''
        href = re.findall(r'<h4><a .*?">(.*?)</a></h4>', html)
        author = re.findall(r'data-eid="qd_C41">(.*?)</a>', html)
        label = re.findall(r'data-eid="qd_C42">(.*?)</a>', html)
        state = re.findall(r'<p class="author">.*?<span>(.*?)</span>', html)
        intro = re.findall(r'<p class="intro">(.*?)</p>', html)
        for i in range(len(href)):
            Introduce = intro[i].strip()
            ilt.append([href[i],author[i],label[i],state[i],Introduce])
    except:
        print('没有书籍信息')


def printGoodsList(ilt):
    count = 0
    for g in ilt:
        if count == 0:
            print('{0:^20}\t{1:^20}\t{2:^20}\t{3:^20}\t{4:^20}\t{5:<20}'.format('排名', g[0], g[1], g[2], g[3], g[4], chr(12288)))
        else:
            print('{0:^20}\t{1:^20}\t{2:^20}\t{3:^20}\t{4:^20}\t{5:<20}'.format(count, g[0], g[1], g[2], g[3], g[4],chr(12288)))
        count = count + 1


def main():
    Type = '3'  # 总榜1-3
    depth = 2  # 页数3页
    url_1 = 'https://www.qidian.com/rank/recom?dateType='
    url_2 = '&chn=-1&page='
    infoList = [['作品', '作者', '类别', '状态', '介绍']]
    for i in range(depth):
        try:
            url = url_1 + Type + url_2 + str(i + 1)
            html = getHTMLText(url)
            parsePage(infoList, html)
        except:
            continue
    printGoodsList(infoList)


main()

最后输出排版有问题,算了不高兴修改了,后期准备直接输出到xls。
输出结果:

排名                   作品                   作者                   类别                   状态          介绍                  
         1                    太初                  高楼大厦                  玄幻                   连载          一树生的万朵花,天下道门是一家。法术千般变化,人心却亘古不变
         2                    无疆                  小刀锋利                  仙侠                   完本          鹰击长空,鱼跃龙门,熊咆虎啸,万物皆有灵。末法之极,磁极轮转,世界变迁。曾经那个熟悉的世界,已经变得面目全非。当神话变成现实,当传说不再神秘,世界无疆,热血永恒。
         3                   斗战狂潮                 骷髅精灵                  仙侠                   连载          双月当空,无限可能的英魂世界孤寂黑暗,神秘古怪的嬉命小丑百城联邦,三大帝国,异族横行,魂兽霸幽这是一个英雄辈出的年代,人类卧薪尝胆重掌地球主权,孕育着进军高纬度的野望!重点是……二
         4                    圣墟                   辰东                   玄幻                   连载          在破败中崛起,在寂灭中复苏。沧海成尘,雷电枯竭,那一缕幽雾又一次临近大地,世间的枷锁被打开了,一个全新的世界就此揭开神秘的一角……
         5                   王者时刻                 蝴蝶蓝                   游戏                   连载          才华横溢的前KPL职业选手何良,拥有一段令人失望的职业生涯,最终黯然退役。一直在其背后默默支持着他的弟弟何遇不忿哥哥职业生涯期间的遭遇,决心重走哥哥的职业路。观看过无数王者荣耀职业
         6                   三寸人间                  耳根                   仙侠                   连载          举头三尺无神明,掌心三寸是人间。这是耳根继《仙逆》《求魔》《我欲封天》《一念永恒》后,创作的第五部长篇小说《三寸人间》。
         7                 凡人修仙之仙界篇                忘语                   仙侠                   连载          凡人修仙,风云再起时空穿梭,轮回逆转金仙太乙,大罗道祖三千大道,法则至尊《凡人修仙传》仙界篇,一个韩立叱咤仙界的故事,一个凡人小子修仙的不灭传说。特说明下,没有看过前传的书友,并不
         8                   飞剑问道                我吃西红柿                  仙侠                   连载          番茄继《吞噬星空》《莽荒纪》《雪鹰领主》后的第九本小说。————在这个世界,有狐仙、河神、水怪、大妖,也有求长生的修行者。修行者们,开法眼,可看妖魔鬼怪。炼一口飞剑,可千里杀敌。千
         9                   一念永恒                  耳根                   仙侠                   连载          一念成沧海,一念化桑田。一念斩千魔,一念诛万仙。唯我念……永恒这是耳根继《仙逆》《求魔》《我欲封天》后,创作的第四部长篇小说《一念永恒》
         10               英雄联盟:我的时代               骷髅精灵                  游戏                   连载          一个电竞少年的冠军梦!一个电竞少年的冠军梦!一个电竞少年的冠军梦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值