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')
# 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)