51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

楼主: lsekfe
打印 上一主题 下一主题

【你来问我来答第109期】:python爬虫的魔力 !(已结束)

[复制链接]

该用户从未签到

21#
发表于 2019-12-17 10:14:32 | 只看该作者
请问有大神写过爬虫方面的测试用例吗
我们是一个外贸电子商务网站,现在正在做一个比价系统,需要用爬虫去别的几家外贸网站上抓取他们的售价和产品信息,以和我们公司网站上卖的东西对比 好进行一些价格方面的调整,现在主要是抓5家网站上的,英文描述,价格,网址等3个信息,然后公司叫我写测试用例,我不知道从何下手,跪求大神解惑
我知道测试主要就是去看抓取的信息是否匹配,是否准确,是否是需要的信息,然后抓取的信息会保存在一个表里面,然后后期测试的话我主要就是去数据库里面查看比对数据,感觉这样写测试用例写不了几条
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2019-12-17 20:54:23 | 只看该作者
寻知觅音 发表于 2019-12-17 10:11
你好,想问下写爬虫是用多进程好?还是多线程好? 为什么?

一般是多线程,因为爬虫是IO比较多的,对CPU耗费不多,所以多线程能提高效率,节省资源。但是有的语言不支持多线程,那就多进程了,比如PHP
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2019-12-17 20:58:09 | 只看该作者
df_1989 发表于 2019-12-16 15:43
好的 谢谢老师。请问下您这边有相关的资料吗?

这个没有通用的方案,因为不同语言调用会比较麻烦,所以选用中间介质实现交互,比如数据库和文件,各种语言里都有读写文件和数据库的类库,按照自己的习惯使用就可以
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2019-12-17 21:03:35 | 只看该作者
monkeytest15 发表于 2019-12-16 16:00
在编写静态网页爬虫,检查元素时发现在标签里面href所指的链接不全怎么办
实际的网页url时这样的http://ww ...

这个是相对路径,可以自己拼接,也可以用现成的类库。
1.python方法:

from urllib import parse
absurl="http://www.XXXX.com/XX/XXX/XXX.html"
url="../../XX.html"
url=parse.urljoin(absurl, url)
2.java方法

absurl="http://www.XXXX.com/XX/XXX/XXX.html"
tempurl="../../XX.html"

url absurl=new url(absurl);

url tempurl=new url(absurl,tempurl);
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2019-12-17 21:05:35 | 只看该作者
小小云 发表于 2019-12-16 16:05
领导说要做个爬虫来获取信息,要求给的很笼统,主要就是获取最新及时不定向的数据,并且还是动态的,这个需 ...

首先,要做成通用型爬虫,尽量多封装,其次要及时更新,那么要理清楚详情页和列表页的概念,列表页多爬取,就能及时更新,同时又涉及到链接去重,所以列表页在某些情况下要清空队列,或者强制插入
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2019-12-17 21:07:18 | 只看该作者
黑色流星 发表于 2019-12-17 10:14
请问有大神写过爬虫方面的测试用例吗
我们是一个外贸电子商务网站,现在正在做一个比价系统,需要用爬虫 ...

爬虫一般写测试不多,因为存在不稳定性和不确定性。不过可以根据爬虫实际需求来写,比如爬取结果格式,若干次爬取中要有几次成功
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2016-4-13 15:48
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    27#
    发表于 2019-12-19 13:30:31 | 只看该作者
    JohnnySheng 发表于 2019-12-17 21:05
    首先,要做成通用型爬虫,尽量多封装,其次要及时更新,那么要理清楚详情页和列表页的概念,列表页多爬取 ...

    好的 谢谢老师。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2019-12-19 13:31:36 | 只看该作者
    JohnnySheng 发表于 2019-12-17 20:58
    这个没有通用的方案,因为不同语言调用会比较麻烦,所以选用中间介质实现交互,比如数据库和文件,各种语 ...

    好的,谢谢。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29#
    发表于 2019-12-19 13:32:56 | 只看该作者
    JohnnySheng 发表于 2019-12-17 21:03
    这个是相对路径,可以自己拼接,也可以用现成的类库。
    1.python方法:

    非常感谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30#
    发表于 2019-12-19 13:34:14 | 只看该作者
    JohnnySheng 发表于 2019-12-17 21:07
    爬虫一般写测试不多,因为存在不稳定性和不确定性。不过可以根据爬虫实际需求来写,比如爬取结果格式,若 ...

    我明白了,您这边的课程里面有这方面的内容吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31#
    发表于 2019-12-19 13:47:09 | 只看该作者
    请python 爬虫高手(selenium技术)帮忙解决几个问题,谢谢!
    环境:python36,selenium 3.3.1,phantomjs2.1.1
    描述:我利用python中selenium模块的phantomjs对网页进行拍照,其中有几个小bug,请高手支支招,如下问题:
    1.某些网站会有反爬机智,导致拍照失败:如图

    导致的原因我认为是标红框的地方,是否可以更改,把这个删掉?或者其他办法。

    2.在截图中,有些浮动的广告,需要点击关闭,selenium虽然有点击的功能,但是如何判断它是广告呢?

    3.在连接网站时,有时会报错,报错内容是timeout,但是我手动打开连接却很快就能打开,应该如何解决呢?

    以上3个问题困扰小弟好长时间,请高手支招,谢谢~~~


    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32#
    发表于 2019-12-19 13:51:41 | 只看该作者
    数据来源:app,app上的数据都是实时变化的
    如何验证爬虫爬的数据是否正确,该怎么比对?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    33#
    发表于 2019-12-19 21:01:10 | 只看该作者
    黑色流星 发表于 2019-12-19 13:34
    我明白了,您这边的课程里面有这方面的内容吗?

    有啊,有兴趣的可以来听,也有试听章节
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34#
    发表于 2019-12-19 21:06:37 | 只看该作者
    yvette 发表于 2019-12-19 13:47
    请python 爬虫高手(selenium技术)帮忙解决几个问题,谢谢!
    环境:python36,selenium 3.3.1,phantomjs2.1.1
    ...

    第一个
    dcap = dict(DesiredCapabilities.PHANTOMJS)
    dcap["phantomjs.page.settings.userAgent"] = (
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 "
    )
    driver = webdriver.PhantomJS(executable_path='./phantomjs', desired_capabilities=dcap)
    第二个:针对性查看广告浮层的CSS或者xpath选择器,找出规律,然后点击关闭按钮
    第三个:手动浏览会有缓存,快一些,还有其他各种原因,比如浏览器内核和网速不同。建议设置超时时间,多次重试,还有就是driver复用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35#
    发表于 2019-12-19 21:07:41 | 只看该作者
    roseolv 发表于 2019-12-19 13:51
    数据来源:app,app上的数据都是实时变化的
    如何验证爬虫爬的数据是否正确,该怎么比对?

    这个没有很好的方法,可以针对数据总结规律,写校验程序,或者抽样和实际数据对比
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    36#
    发表于 2019-12-26 13:31:58 | 只看该作者
    JohnnySheng 发表于 2019-12-19 21:07
    这个没有很好的方法,可以针对数据总结规律,写校验程序,或者抽样和实际数据对比

    好的,多谢。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    37#
    发表于 2019-12-26 13:34:03 | 只看该作者
    要对一个爬虫数据采集系统进行性能测试
    该系统采用混合蜘蛛技术和变频抓取技术,在采集数据的中间处理环节对封闭系统采用Pipeline技术,对热门微博、贴吧、新闻网页的数据进行采集(主要是文字)
    采集时间的性能标准是3分钟以内,这个做性能测试要怎么做?求教
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    38#
    发表于 2019-12-26 13:41:49 | 只看该作者
    爬虫项目主要功能是实现从不同网页上去获取数据。目前需要对这个项目做自动化测试,方案是自动化程序去爬取网页作为期望值,爬虫程序返回值作为实际值,对比完成这样自动化的测试。这样做相当于用另外一个爬虫程序来验证爬虫项目的程序。请各位给点意见吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    39#
    发表于 2019-12-26 14:57:23 | 只看该作者
    jackman 发表于 2019-12-26 13:34
    要对一个爬虫数据采集系统进行性能测试
    该系统采用混合蜘蛛技术和变频抓取技术,在采集数据的中间处理环 ...

    可以增加一个Pipeline,或者在pipeline中加一个钩子,将数据传输给测试程序,或者直接检测最终数据目标,比如数据库中数据量是否符合预期
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40#
    发表于 2020-1-3 10:51:29 | 只看该作者
    你好,写爬虫是用多进程好?还是多线程好? 为什么呢?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-27 11:23 , Processed in 0.079417 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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