예제 #1
0
class TestProject(BehanceTestCase):

    def test_search(self):
        projects = self.api.project_search('apple')
        self.assertEqual(len(projects), 12)
        for project in projects:
            for key in PROJECT_KEYS:
                self.assertTrue(project.has_key(key))
                self.assertTrue(hasattr(project, key))

    def test_project(self):
        project = self.api.get_project(PROJECT_ID)
        self.assertIsNotNone(project)
        for key in PROJECT_KEYS:
            self.assertTrue(hasattr(project, key))
            self.assertTrue(project.has_key(key))

    def test_comments(self):
        project = self.api.get_project(PROJECT_ID)
        comments = project.get_comments()
        self.assertGreater(len(comments), 1)
        for comment in comments:
            for key in ['user', 'comment']:
                self.assertTrue(comment.has_key(key))
                self.assertTrue(hasattr(comment, key))

    def test_exception(self):
        with self.assertRaises(NotFound):
            project = self.api.get_project(1234)
        with self.assertRaises(Forbidden):
            self.api = API('12345')
            projs = self.api.project_search('apple')
예제 #2
0
class TestProject(BehanceTestCase):
    def test_search(self):
        projects = self.api.project_search('apple')
        self.assertEqual(len(projects), 12)
        for project in projects:
            for key in PROJECT_KEYS:
                self.assertTrue(project.has_key(key))
                self.assertTrue(hasattr(project, key))

    def test_project(self):
        project = self.api.get_project(PROJECT_ID)
        self.assertIsNotNone(project)
        for key in PROJECT_KEYS:
            self.assertTrue(hasattr(project, key))
            self.assertTrue(project.has_key(key))

    def test_comments(self):
        project = self.api.get_project(PROJECT_ID)
        comments = project.get_comments()
        self.assertGreater(len(comments), 1)
        for comment in comments:
            for key in ['user', 'comment']:
                self.assertTrue(comment.has_key(key))
                self.assertTrue(hasattr(comment, key))

    def test_exception(self):
        with self.assertRaises(NotFound):
            project = self.api.get_project(1234)
        with self.assertRaises(Forbidden):
            self.api = API('12345')
            projs = self.api.project_search('apple')
예제 #3
0
파일: test.py 프로젝트: sinoclover/python
# try:

#     writer.writerow((project1.id, project1.name, timeTrans(project1.published_on), project1.fields[0], project1.fields[1],
#                     project1.fields[2], project1.stats.views, project1.stats.appreciations, project1.stats.comments,
#                     project1.owners[0].username, project1.owners[0].city, project1.owners[0].country))
# finally:
#     csv2.close()

# 项目列表CSV存储
csv3 = open('../Behance/files/proj4.csv', 'wt', newline='', encoding='utf-8')
writer = csv.writer(csv3)
try:
    writer.writerow(('projectID', 'name', 'publishedTime', 'field', 'views',
                     'appreciations', 'comments', 'owner', 'city', 'country'))
    for i in range(3):
        projects = behance.project_search('', '', page=i)
        for project in projects:
            writer.writerow(
                (project.id, project.name, timeTrans(project.published_on),
                 project.fields[0], project.stats.views,
                 project.stats.appreciations, project.stats.comments,
                 project.owners[0].username, project.owners[0].city,
                 project.owners[0].country))
finally:
    csv3.close()

# 一次最多爬取48个项目
# projects = behance.project_search('', '',time='all')
# print(len(projects))
# project_id = projects[0].id
# print(project_id)