2023-04-25 16:33

互联网的数据爆炸式的增长,而利用 Python 爬虫我们可以获取大量有价值的数据。这些数据可以有很多用途,比如:

1.爬取数据,进行市场调研和商业分析

爬取知乎优质答案,筛选各话题下最优质的内容; 抓取房产网站买卖信息,分析房价变化趋势、做不同区域的房价分析;爬取招聘网站职位信息,分析各行业人才需求情况及薪资水平。

2.作为机器学习、数据挖掘的原始数据

比如你要做一个推荐系统,那么你可以去爬取更多维度的数据,做出更好的模型。

3.爬取优质的资源:图片、文本、视频

爬取商品(店铺)评论以及各种图片网站,获得图片资源以及评论文本数据。掌握正确的方法,在短时间内做到能够爬取主流网站的数据,其实非常容易实现。

Python中爬虫有很多的库可以选择:urllib、requests、bs4、scrapy、pyspider 等,建议你从requests+Xpath 开始,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。pythond的学习方式已经有很大大神分享过,但是爬虫最重要的步骤就是实践,只有实战经验才能体现学到了什么程度。比如这里我们requests来爬取豆瓣一个话题的短评数据,爬取过程中应对特殊网站的反爬虫措施是我们必须要学会的,如豆瓣这种限制ip比较的严的网,我们可以通过添加优质隧道代理去解决。代理的选择比较广泛,这里我们直接使用由亿牛云提供的爬虫加强版进行实践,添加代理ip爬取过程如下:

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

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "https://www.douban.com/"

    # 要访问的目标HTTPS页面
    # targetUrl = "https://www.douban.com/"

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

    # 代理验证信息
    proxyUser = "ETFDJY"
    proxyPass = "5478987"

    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



评论