Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186005
  • 博文数量: 83
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 846
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-27 14:41
个人简介

宁为玉碎,不为瓦全

文章分类
文章存档

2024年(27)

2023年(28)

2022年(17)

2021年(10)

2019年(1)

我的朋友

分类: Python/Ruby

2022-12-28 16:25:15

对于很多年轻人来说,知乎也是一个必不可少的社交软件,知乎上面有很多的话题大家都愿意参与讨论,也有很多的神评论。有些问题下面的回答数竟有上万条,实在太多了忍不住了,好想知道大家都评论了些什么。所以这种情况下就可以发挥下我们的爬虫技术了。

首先需要明确需求,爬什么数据?这里我们可以直接爬取知乎首页上推荐的评论比较多的问题,包括该问题下评论的用户的归属地、用户的昵称、用户的性别、用户回答的赞同数、用户回答的评论数。爬虫我们之前写过很多遍了,思路都差不多,而且知乎网站对爬虫还是很友好的反爬机制并不是很严。这里我只是简单的用到代理IP和随机ua,那些上万评论数的问题很快就爬取完了。全部源码献上,关于代码的解释,可以搜索亿牛云详细了解,这里就不再赘述了,如果还有问题,可以私信或者评论问我。

#! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = ""

    # 要访问的目标HTTPS页面
    # targetUrl = ""

    # 代理服务器(产品官网 )
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"

    # 代理验证信息
    proxyUser = "username"
    proxyPass = "password"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }


    #  设置IP切换头
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}



    resp = requests.get(targetUrl, proxies=proxies, headers=headers)

    print resp.status_code
    print resp.text

爬取结果简单的进行了整理,因为问题的太多,爬取的数据也比较多,所以整理好后下次分享给大家参考。爬虫学习就是要多实践,爬取各种有难度的网站去解决更多反爬机制,这样才能让自己的爬虫技术有提升。

阅读(375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~