美文网首页Python与数据分析
【爬虫笔记】一、一个简单的爬虫

【爬虫笔记】一、一个简单的爬虫

作者: 清梦载星河 | 来源:发表于2019-09-29 19:37 被阅读0次

    没想到做数据分析也要学习爬虫,幸好会点前端的基础知识,行吧,搞起。

    1. 前提准备

    • 目的:爬取豆瓣读书经典分类第一页的二十本书的书名
    • 需要的模块:
      • requests
      • BeautifulSoup
    # 下载安装
    pip install requests
    pip install bs4
    # 导入
    from bs4 import BeautifulSoup
    import requests
    

    2. 代码搞起

    import requests
    from bs4 import BeautifulSoup
    
    # 添加登录信息
    # 登录信息在浏览器开发工具Network - Doc - Header里面找,需自行登录豆瓣
    # 保险起见,下面内容我改了些数据
    # 主要就是Header和Cookie
    dic_h = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"}
    cookie = '''ll="1157683"; bid=_sU_hV7qb04; dbcl2="1312381777:okfsm+CyrjQ"; ck=haXU; ap_v=0,6.0; push_noty_num=0; push_doumail_num=0'''
    dic_c = {}
    for i in cookie.split('; '):
        dic_c[i.split('=')[0]] = i.split('=')[1]
    
    # 添加url
    url = "https://book.douban.com/tag/%E7%BB%8F%E5%85%B8"
    r = requests.get(url,headers=dic_h,cookies=dic_c)
    bsObj = BeautifulSoup(r.content,'lxml')
    
    # 这里要分析一下网页结构,不贴图了,具体的自行进开发工具查看
    # 列出的书都在ul标签下,按照class = subject-list这个属性来找
    # 每本书分开放在一个 li 标签下
    ullist = bsObj.find('ul',{"class":"subject-list"})
    lilst = ullist.findAll('li')
    
    # 在 li 下找第二个 a 标签
    # 将title存放在titlelist列表中
    titlelist = []
    for li in lilst:
        title = li.findAll('a')[1]['title']
        titlelist.append(title)
    

    这样,一个超简单的爬虫就写好了,打印一下结果:

    print(titlelist)
    ['小王子', '活着', '追风筝的人', '红楼梦', '围城', '平凡的世界(全三部)', '百年孤独', '骆驼祥子', '月亮与六便士', '傲慢与偏见', '鲁滨逊漂流记', '老人与海', '三体', '简爱(英文全本)', '边城', '飘', '许三观卖血记', '霍乱时期的爱情', '穆斯林的葬礼', '了不起的盖茨比']
    

    这是经典类目下的前二十本书,看过其中11本,《红楼梦》囫囵吞枣地看了一半,家里的半白话《红楼梦》看起来比《百年孤独》还累+_+

    相关文章

      网友评论

        本文标题:【爬虫笔记】一、一个简单的爬虫

        本文链接:https://www.haomeiwen.com/subject/oacqpctx.html