爬虫(1):知乎热榜

爬虫(1):知乎热榜

  1. 目标知乎热榜:https://www.zhihu.com/billboard

  2. 目标元素

    • 排行
    • 标题
    • 简介
    • 热点(实时性大,瞬间值一般没啥用,极值可能会有点用)
  3. 写代码

    前置条件:安装好python 3、requests库、lxml库

    import requests
    from lxml import etree
    import time
    
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'}
    url = 'https://www.zhihu.com/billboard'
    
    text = requests.get(url=url, headers=headers,verify=False).text
    
    selector = etree.HTML(text)
    
    for i in range(1,51):
        title = selector.xpath('//a[@class="HotList-item"][{}]/div[2]/div[{}]/text()'.format(i,1))
        content = selector.xpath('//a[@class="HotList-item"][{}]/div[2]/div[{}]/text()'.format(i,2))
    
    
        print("{}:  ".format(i),end='')
        print(title[0])
        print(content[0])
        print('__________________________',end='\n\n')
    
        time.sleep(5)
    
    

4.存在问题

  • https证书问题,还没搞懂
  • 网页版的数据与爬取的排版不一致,导致按网页版编写的xpath只找到title和热度,但html的内容里也确实包含了问题简介
  • 代码硬编码太多
  • 代码复用性差
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值