51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【109期】:python爬虫的魔力 !双11剁手不吃土,来投稿赚回血红包! 【专题】用尽一切办法只为让你学好用例 自学软件测试那点事
查看: 1360|回复: 10

【你来问我来答第109期】:python爬虫的魔力 !

[复制链接]
  • TA的每日心情
    慵懒
    2019-8-9 10:30
  • 签到天数: 496 天

    连续签到: 1 天

    [LV.9]测试副司令

    发表于 2019-12-2 13:45:59 | 显示全部楼层 |阅读模式

           随着信息时代的发展,数据的重要性越来越凸显。爬虫就是获取数据最高效,性价比最高的方法。互联网公司也越来越重视爬虫,而爬虫工程师的待遇也越来越高。起薪基本都在一万以上。爬虫是一种对知识广度要求很高的技术,既要懂基本的开发语言,又要熟悉网站知识,还要熟悉各种数据库存储。 老师有超过十年的开发经验,其中爬虫领域有超过八年的经验,对这个行业非常精通,算得上这个领域的专家,用各种语言(Python,Java,PHP)开发过爬虫,还自己开发了几套爬虫框架。对搜索和网站开发也很擅长。
    论坛ID:JohnnySheng
    现任职位:爬虫技术负责人/架构师

    嘉宾作品:大神教你写爬虫-从入门到精通
    项目经验:知名上市公司的爬虫架构师,曾在数家公司担任数据负责人和爬虫架构师的职责。超过十年开发经验,精通爬虫,搜索,网站开发领域,开发语言精通Python,Java,PHP。曾经用不同开发语言写过几个爬虫框架。课程中基础和高级应用并重,由浅入深,有多个项目实例,有多种开发语言(Python,Java,PHP)框架的讲解和实战演示。


    各位会员可以在12月10日前以回帖的方式向客座专家提问。
    (请大家围绕本期客座专家的擅长领域进行提问、探讨)
    客座专家将在12月11日—12月31日为大家集中解答。

    机会难得,欢迎大家踊跃提问!


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-8-9 10:30
  • 签到天数: 496 天

    连续签到: 1 天

    [LV.9]测试副司令

     楼主| 发表于 2019-12-2 14:17:10 | 显示全部楼层
    欢迎大家提问,本期关于python爬虫的主题问答。希望大家踊跃提问。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-12-5 12:30
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]测试连长

    发表于 2019-12-2 18:22:36 | 显示全部楼层
    老师请问,有许多爬虫现在在窃取个人信息,国家也在出台相关法律。爬虫技术有没有什么重要的法律红线?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-12-2 20:39:11 | 显示全部楼层
    交感2019 发表于 2019-12-2 18:22
    老师请问,有许多爬虫现在在窃取个人信息,国家也在出台相关法律。爬虫技术有没有什么重要的法律红线?

    你这是个好问题,最近爬虫行业各种动荡,但是大家大可不必担忧,受到打击的只是不合规的那些,主要是涉及到个人信息方面的。
    爬虫只是一种工具,搜索引擎的底层就是爬虫和搜索,所以爬虫不是违法的,主要看怎么用。
    一个很重要的注意点,就是不要涉及个人信息,还有规避有明确版权的数据。
    详情可以看我的课程,在爬虫基本概念和就业指导章节我都着重进行了讲解,我的个人博客中也进行了讲解。
    课程:http://www.atstudy.com/my/course/1999
    博客:对于最近爬虫行业一些动荡事件的思考,http://www.crawler.im/post/18
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 09:10
  • 签到天数: 96 天

    连续签到: 5 天

    [LV.6]测试旅长

    发表于 2019-12-3 13:50:12 | 显示全部楼层
    老师,请问,可以推荐一下,爬虫的基础框架不,在自学。感觉很多时候,找不到方向。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-12-4 11:03:01 | 显示全部楼层
    目标,远方 发表于 2019-12-3 13:50
    老师,请问,可以推荐一下,爬虫的基础框架不,在自学。感觉很多时候,找不到方向。

    #框架:
    PHP:
      PHPSpider:强大极其灵活,配置形式,基本上可以用配置解决所有问题

    .NET:
      DotnetSpider:参照WebMagic,强大,灵活

    Python:
      Scrapy:元老级别,强大,周边插件强大,应用广。但是也有不足(单进程只能运行单个爬虫任务),常用的的redis插件有缺陷
      PySpider:玩具,适合非专业爬虫人员,不稳定

    Java:
      Nutch:元老级,适合搜索引擎,比较繁重,可定制化不强,不推荐
      WebMagic:参照Scrapy,但是青出于蓝而胜于蓝。强大,灵活,原生支持分布式,自带的redis队列很不错,可以实现单进程多任务,强烈推荐!!!!!
      Crawler4j:不错的框架,采用的是BerkeleyDB 进行url的过滤。不支持分布式采集,但是可以通过使用redis队列实现分布式,但是开源的redis队列有缺陷,慎用!
      WebCollector:国人开发,功能不错,但是不同版本兼容性不好,可修改空间不大

    这些在老师的课程中都有详细的讲解和案例:http://www.atstudy.com/my/course/1999
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 09:10
  • 签到天数: 96 天

    连续签到: 5 天

    [LV.6]测试旅长

    发表于 2019-12-5 14:33:16 | 显示全部楼层
    JohnnySheng 发表于 2019-12-4 11:03
    #框架:
    PHP:
      PHPSpider:强大极其灵活,配置形式,基本上可以用配置解决所有问题

    感谢,老师回复
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 09:10
  • 签到天数: 96 天

    连续签到: 5 天

    [LV.6]测试旅长

    发表于 2019-12-5 14:33:26 | 显示全部楼层
    JohnnySheng 发表于 2019-12-4 11:03
    #框架:
    PHP:
      PHPSpider:强大极其灵活,配置形式,基本上可以用配置解决所有问题

    感谢,老师回复
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 前天 16:56 | 显示全部楼层
    老师,我想提问下,python爬虫可以用.net的界面来交互吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 前天 17:04 | 显示全部楼层
    JohnnySheng 发表于 2019-12-2 20:39
    你这是个好问题,最近爬虫行业各种动荡,但是大家大可不必担忧,受到打击的只是不合规的那些,主要是涉及 ...

    求指教!! 爬取天眼查数据的时候,脚本运行一段时间,就会被天眼查的反爬取搞出来。怎么能躲过这个检测爬虫脚本执行一段时间以后,后续就会报错。
    手动访问天眼查页面,发现页面提示确认是否是机器人。请大神指导怎么能躲过反爬取检测。

    问题:
    目前不太清楚天眼查是根据IP,还是根据cookie来做的反爬取限制。
    尝试过的操作:
    1、延长每次请求的时间,设置为3s中爬取一次,结果中途也断了。
    2、将请求的时间设置为随机时间在0~5s之内,结果也中途断了。




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 前天 17:09 | 显示全部楼层
    1. r = s.get(city_url, headers=my_heads, proxies=params_file.proxies)
    复制代码
    增加了IP地址池,IP地址数据如下(购买的IP数据):
    1. proxies = {
    2. "https":"https://112.87.71.162:9999",
    3. "https":"https://125.123.139.163:9999",
    4. "https":"https://116.209.55.229:9999",
    5. "https":"https://104.248.99.101:3128",
    6. "https":"https://116.209.52.240:9999",
    7. "https":"https://116.192.171.51:31742",
    8. "https":"https://113.121.146.70:9999",
    9. "https": "https://112.85.129.166:9999",
    10. "https": "https://1.10.188.100:59164",
    11. }
    复制代码
    结果页面有报错:接口返回值为403

    目前陷入了停滞状态,我尝试过去掉地址池,页面访问正常
    所以有点尴尬,去掉地址池,爬一段时间,就要被封。用了地址池,程序跑不起来

    hreader 信息:


    新的问题。
    使用IP代理之后,发现爬一段时间,账号依然会被封。不知道什么原因?
    是因为一直使用一个cookie吗?这么搞的话,是不是得使用多个账号交替去爬?

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2019-12-15 11:46 , Processed in 0.070911 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2019 Comsenz Inc.

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