设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 527|回复: 2
收起左侧

Scrapy爬虫之美团

[复制链接]
发表于 2021-5-24 16:22:36 | 显示全部楼层 |阅读模式
通过Scrapy,我们可以轻松地完成一个站点爬虫的编写。但如果抓取的站点量非常大,比如爬取各大媒体的新闻信息,多个Spider则可能包含很多重复代码。
如果我们将各个站点的Spider的公共部分保留下来,不同的部分提取出来作为单独的配置,如爬取规则、页面解析方式等抽离出来做成一个配置文件,那么我们在新增一个爬虫的时候,只需要实现这些网站的爬取规则和提取规则即可。
今天我们就通过Scrapy来爬取目前比较难搞定的美团。因为美团网的反爬措施,需要设置IP代理以及随机切换可用的User-Agent来进行大量数据的爬取。我们是因为购买亿牛云的爬虫代理,所以他们提供了很多的最新的ua库,这个赠送福利是目前所有代理商里面最好的一家。但是美团是超级难采集的,只有代理不行的,要是程序做的不好,应对爬虫策略做的不够完善没法采集的。
接下来我们分享下挂上代理采集美团的完整示例
#! -*- encoding:utf-8 -*-
    import requests
    import random
    # 要访问的目标页面
    targetUrl = "http://www.meituan.com"
    # 要访问的目标HTTPS页面
    # targetUrl = "https://www.meituan.com"
    # 代理服务器(产品官网 www.16yun.cn)
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"
    # 代理验证信息
    proxyUser = "16YCUTUE"
    proxyPass = "458762"
    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
今天就先分享到这里,关于更多的攻克美团的方法大家可以来留言交流。
发表于 2021-9-29 12:06:05 | 显示全部楼层
有点意思,所以关键还是在于使用拥有大量Proxy-Tunnel值的代理,但是这样和UA好像没啥关系
沙发 2021-9-29 12:06:05 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2022-6-11 14:26:02 | 显示全部楼层
谢谢楼主分享607059
板凳 2022-6-11 14:26:02 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-3-29 04:35 , Processed in 0.052299 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表