def parse(self, response): self.browser.get(response.url) # 대기할 시간 time.sleep(1) # 전체 데이터 불러와서 html에 저장 html = self.browser.find_element_by_xpath('//*').get_attribute( 'outerHTML') selector = Selector(text=html) # 파싱 rows = selector.xpath( '//*[@id="user-container"]/div[2]/div[2]/section/article/div[2]/section/div' ) domain = "http://www.ksdaily.co.kr" items = [] for row in rows: item = InvestCrawlerItem() # 이미지 유무 검사 tmp_img = row.xpath('./div[1]/a/img/@src').extract() if not tmp_img: item['imgPath'] = tmp_img item['title'] = row.xpath('./div[1]/a/strong/text()').extract() item['urlPath'] = domain + row.xpath( './div[1]/a/@href')[0].extract() tmp_time = row.xpath('./div[2]/text()').extract() else: item['imgPath'] = domain + "/news/" + tmp_img[0] item['title'] = row.xpath('./div[2]/a/strong/text()').extract() item['urlPath'] = domain + row.xpath( './div[2]/a/@href')[0].extract() tmp_time = row.xpath('./div[3]/text()').extract() # 이미지가없는 파일의경우 div[2] , 이미지가 있는 경우 div[3]임 split_tmp_time = tmp_time[0][len(tmp_time) - 17:] result_time = time_separate_check("yyyy-mm-dd", split_tmp_time) item['issue'] = result_time item['newspaper'] = "한국증권신문-해외" items.append(item) # 로그를 남길려면 yield로 리턴해야함 # yield item items.reverse() try: insert_db(items, "한국증권신문-해외") finally: self.browser.quit()
def parse(self, response): self.browser.get(response.url) # 대기할 시간 time.sleep(1) # 전체 데이터 불러와서 html에 저장 html = self.browser.find_element_by_xpath('//*').get_attribute( 'outerHTML') selector = Selector(text=html) # 파싱 rows = selector.xpath( '//*[@id="container"]/div/div/div[1]/section/div[1]/ul/li/div[not(@class="con ads-latest01")]' ) items = [] for row in rows: item = InvestCrawlerItem() item['title'] = row.xpath('./div[2]/a/strong/text()').extract() # 이미지가없는 파일의경우 div[2] , 이미지가 있는 경우 div[3]임 # 시간 설정 tmp_time = row.xpath('./div[1]/span[2]/text()').extract() result_time = time_separate_check("mm-dd", tmp_time[0]) item['issue'] = result_time tmp_img = row.xpath('./figure/a/img/@src').extract() if not tmp_img: item['imgPath'] = tmp_img else: item['imgPath'] = "http:" + tmp_img[0] item['urlPath'] = "http:" + row.xpath( './div[2]/a/@href')[0].extract() item['newspaper'] = "연합뉴스" items.append(item) # 로그를 남길려면 yield로 리턴해야함 yield item items.reverse() try: insert_db( items, "연합뉴스", ) finally: self.browser.quit()
def parse(self,response): self.browser.get(response.url) # 대기할 시간 time.sleep(1) # 전체 데이터 불러와서 html에 저장 html=self.browser.find_element_by_xpath('//*').get_attribute('outerHTML') selector=Selector(text=html) # 파싱 rows= selector.xpath('//*[@id="container"]/div[1]/div[1]/ul/li') items=[] for row in rows: item=InvestCrawlerItem() item['title']=row.xpath('./div[1]/h3/a/text()').extract() # 시간 형식 통일 작업 tmp_time=row.xpath('./div[2]/span/text()').extract() result_time=time_separate_check("yyyy.mm.dd",tmp_time[0]) item['issue']=result_time tmp_img=row.xpath('./div[1]/span/a/img/@src').extract() if not tmp_img: item['imgPath']='' else: item['imgPath']="http:"+tmp_img[0] item['urlPath']=row.xpath('./div[1]/h3/a/@href').extract() item['newspaper']="한국경제" items.append(item) # 로그를 남길려면 yield로 리턴해야함 yield item items.reverse() try: insert_db(items,"한국경제") finally: self.browser.quit()
def parse(self, response): self.browser.get(response.url) # 대기할 시간 time.sleep(1) # 전체 데이터 불러와서 html에 저장 html = self.browser.find_element_by_xpath('//*').get_attribute( 'outerHTML') selector = Selector(text=html) # 파싱 rows = selector.xpath('//*[@id="content"]/ul/li') items = [] for row in rows: item = InvestCrawlerItem() item['title'] = row.xpath('./div/strong/a/text()').extract() tmp_time = row.xpath('./div/p/span/text()').extract() split_tmp_time = tmp_time[0][len(tmp_time) - 17:] result_time = time_separate_check("yyyy.mm.dd", split_tmp_time) item['issue'] = result_time item['imgPath'] = row.xpath('./a/img/@src').extract() item['urlPath'] = row.xpath('./div/strong/a/@href').extract() item['newspaper'] = "머니투데이" items.append(item) # 로그를 남길려면 yield로 리턴해야함 yield item items.reverse() try: insert_db( items, "머니투데이", ) finally: self.browser.quit()