第十三章 用python爬虫测试网站-单元测试

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import unittest
from urllib.parse import unquote
from urllib.request import urlopen

from bs4 import BeautifulSoup


class TestWikipedia(unittest.TestCase):
    bsObj=None
    url=None

    def test_PageProperties(self):
        global bsObj
        global url

        url="http://en.wikipedia.org/wiki/Monty_Python"
        #测试遇到的前100个页面
        for i in range(1.100):
            bsObj=BeautifulSoup(urlopen(url))
            titles=self.titleMatchesURL()
            self.assertEquals(titles[0],titles[1])
            self.assertTrue(self.contentExists())
            url=self.getNextLink()
        print("done!")

    def titleMatchesURL(self):
        global bsObj
        global url
        pageTitle=bsObj.find("h1").get_text()
        urlTitle=url[(url.index("/wiki/")+6):]
        urlTitle=urlTitle.replace("_"," ")
        #去除引号
        urlTitle=unquote(urlTitle)
        return [pageTitle.lower(),pageTitle.lower()]
    def contentExists(self):
        global bsObj
        content=bsObj.find("div",{"id":"mw-content-text"})
        if content is not None:
            return True
        else:
            return False
    def getNextLink(self):
        print("使用第五章的办法获取随机链接")
if __name__=='_main_':
    unittest.main()


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值