高温导致大闸蟹价格暴涨

小白学大数据
• 阅读 141

金秋临近,一年之中品尝螃蟹的好季节即将到来。但由于天气炎热,近期大闸蟹“食欲不振”,生长也受到了影响。然而,影响更深的是,由于高温,缺氧的大闸蟹“死伤严重”大闸蟹减产也导致其价格激增,今年大闸蟹价格比去年同期涨40%。大闸蟹一直都以来都比较贵,现在更是涨价,那估计很多人会被价格劝退吧? 关于大闸蟹的价格和销量我们今天可以作为一个爬虫实践项目,通过获取数据分析对比下今年的价格和销量有多大的变化。这里我们可以使用python爬取京东上的数据来进行分析,由于京东反爬技术较强,使用常规方法爬取其数据行不通,且使用逆向分析技术又具有一定难度,所以这次直接使用selenium爬取京东商品数据,并且在爬取的过程中还做了一系列反爬措施,比如随机ua,cookie,代理IP。代理IP是获取数据的重点,需要高高质量的代理,所以这里使用了由亿牛云提供的高质量隧道IP。使用过程也比较简单,示例如下: from selenium import webdriver import string import zipfile

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

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

def create_proxy_auth_extension(proxy_host, proxy_port,
                               proxy_username, proxy_password,
                               scheme='http', plugin_path=None):
    if plugin_path is None:
        plugin_path = r'D:/{}_{}@t.16yun.zip'.format(proxy_username, proxy_password)

    manifest_json = """
    {
        "version": "1.0.0",
        "manifest_version": 2,
        "name": "16YUN Proxy",
        "permissions": [
            "proxy",
            "tabs",
            "unlimitedStorage",
            "storage",
            "",
            "webRequest",
            "webRequestBlocking"
        ],
        "background": {
            "scripts": ["background.js"]
        },
        "minimum_chrome_version":"22.0.0"
    }
    """

    background_js = string.Template(
        """
        var config = {
            mode: "fixed_servers",
            rules: {
                singleProxy: {
                    scheme: "${scheme}",
                    host: "${host}",
                    port: parseInt(${port})
                },
                bypassList: ["foobar.com"]
            }
          };

        chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});

        function callbackFn(details) {
            return {
                authCredentials: {
                    username: "${username}",
                    password: "${password}"
                }
            };
        }

        chrome.webRequest.onAuthRequired.addListener(
            callbackFn,
            {urls: [""]},
            ['blocking']
        );
        """
    ).substitute(
        host=proxy_host,
        port=proxy_port,
        username=proxy_username,
        password=proxy_password,
        scheme=scheme,
    )

    with zipfile.ZipFile(plugin_path, 'w') as zp:
        zp.writestr("manifest.json", manifest_json)
        zp.writestr("background.js", background_js)

    return plugin_path

proxy_auth_plugin_path = create_proxy_auth_extension(
    proxy_host=proxyHost,
    proxy_port=proxyPort,
    proxy_username=proxyUser,
    proxy_password=proxyPass)

option = webdriver.ChromeOptions()

option.add_argument("--start-maximized")

# 如报错 chrome-extensions 
# option.add_argument("--disable-extensions")

option.add_extension(proxy_auth_plugin_path)

# 关闭webdriver的一些标志
# option.add_experimental_option('excludeSwitches', ['enable-automation'])        

driver = webdriver.Chrome(chrome_options=option)

# 修改webdriver get属性
# script = '''
# Object.defineProperty(navigator, 'webdriver', {
# get: () => undefined
# })
# '''
# driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})     



driver.get("http://httpbin.org/ip")

selenium的使用和其他的语言有很多的不同点,所以在找使用的时候需要特别的区别下,获取的数据后期经过处理分析后再分享给大家参考。

点赞
收藏
评论区
推荐文章
浅梦一笑 浅梦一笑
4个月前
初学 Python 需要安装哪些软件?超级实用,小白必看!
编程这个东西是真的奇妙。对于懂得的人来说,会觉得这个工具是多么的好用、有趣,而对于小白来说,就如同大山一样。其实这个都可以理解,大家都是这样过来的。那么接下来就说一下python相关的东西吧,并说一下我对编程的理解。本人也是小白一名,如有不对的地方,还请各位大神指出01名词解释:如果在编程方面接触的比较少,那么对于软件这一块,有几个名词一定要了解,比如开发环
Aidan075 Aidan075
1年前
厉害了,股票K线图还能这么画!
大家好,我是小五🐶发现大家还是最喜欢股票基金话题呀~那说到股票基金就不得不提——K线图!那小五今天就带大家👉用python来轻松绘制高颜值的K线图🚀获取股票交易数据巧妇难为无米之炊,做可视化也离不开数据。本文我将以酱香型科技——贵州茅台为例,获取它的近期股票数据并绘制K线图。如果我们要特意去动手去写爬虫,就显得有些多余了,这里
spring-data-redis 上百万的 QPS 压力太大连接失败,我 TM 人傻了
大家好,我们最近业务量暴涨,导致我最近一直TM人傻了。前几天晚上,发现由于业务压力激增,某个核心微服务新扩容起来的几个实例,在不同程度上,出现了Redis连接失败的异常:org.springframework.data.redis.RedisConnectionFailureException:UnabletoconnecttoRedis;
Karen110 Karen110
1年前
一篇文章带你了解Django ORM操作(高端篇)
前言上次两篇基本学完的DjangoORM各种操作,怎么查,各种查。感兴趣的小伙伴可以戳这两篇文章学习下,、。但是还是遗留了一些技能。,再来瞅瞅吧!查询聚合操作聚合操作,不要被名字吓到了,通常用在筛选完一些数据之后,求一下平均值了,什么的。例如:求所有书的总价格和平均价格原生sqlSELECTSUM(price)AS"所有书总价格",a
Stella981 Stella981
1年前
ESP8266 wifi模块初次试用
前段时间在淘宝随便搜搜“wifi模块”,竟然眼前一亮发现有一款价格在15元内的wifi模块:ESP8266。对其简单的了解:1.体积小巧,且多种封装,没有一个硬币大。2.价格便宜,十几块钱在wifi模块里面算是最便宜的了。3.提供AT指令,这样就可以使用arduino进行控制,实现互联网数据交互。4.
软件APP定制开发和成品开发的区别是什么?
软件开发外包分为成品开发和定制开发,就如大家所了解的价格差距较大,因为软件开发成品和定制的差别是很大的,那么哪种开发方式更适合,它们两者的区别在哪里?到底该如何选择:首先我们应该都知道软件开发公司存在两种APP开发方式,那就是成品APP和APP定制开发。两种方式不同,价格差距也比较大,适用的范围也有所不同。成品半成品APP1、成品所谓的成品就是软件开发公司以
Stella981 Stella981
1年前
AkShare
!(https://oscimg.oschina.net/oscnet/2531b74d70811a7440e616cc6a82465edc9.jpg)作者寄语这几天都在规范各种自动化工具和文档,今天更新一个货币接口,可以查询世界各种货币的实时价格、历史价格和货币对转换。做外汇的小伙伴可以关注下,目前本接口可以在原网站注册后免费试用5
虾米大王 虾米大王
6个月前
java代码092
code092.jsp通过FindServlet类查询分页数据所有图书信息ID图书名称价格数量作者<%Listlist1(List)request.getAttribute("list");for(code089book:list1)%
小白学大数据 小白学大数据
9个月前
安居客房源信息获取
最近身边有几个做房产销售的朋友经常在诉苦,找不到客户,没有业绩,所以就比较好奇他们现在的行情,所以今天我们就使用python获取下安居客的一些房源数据。之前分享过很多关于爬虫的实践示例,今天这个也算是实践内容。我们就以户型结构、装修情况、水肥情况进行房源数据获取。爬取数据的通用流程:1、根据url请求页面,获取页面响应对象2、将页面响应对象转化为对象3、定
虾米大王 虾米大王
6个月前
java代码088
code088.jsp通过存储过程获取数据所有图书信息ID图书名称价格数量作者<%Listlist1findBook.findAll();if(list1null||list1.size()
广州华锐互动 广州华锐互动
5个月前
vr虚拟场景制作费用是多少?
做VR虚拟场景首先要考虑以下几点因素:①点位数量:一般来说,一个VR全景作品是有很多点位(场景)的,点位越多,整体价格就越高,但是点位越多,平均一个点位的价格可能就会相对低一些。②地拍和航拍:这两种拍摄方式的不同,所呈现的景观也是不一样的,其拍摄难度和成本也是不一样的,一般航拍价格要比地拍价格高。③全景图功能:普通的VR全景图就是全景图的基本功能,但是一些平