def collect(self): LoginController.login_by_cookie(self.browser) #self.browser.get('http://weibo.com/5579712614/follow') #time.sleep(4) a = self.browser.find_element_by_xpath("//a[@node-type='mUpload']") a.send_keys(open('2.jpg')) list = FocusFollowPage.focus_list_all_with_func(self.browser, self.p) print('')
def __send(self, text, url): passwd_dict = PasswdUtil.get_passwd_dict() browser = LoginController.get_browser() try: service.send_weibo(text, url, LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD])) except Exception as e: print e browser.quit()
def search(): date = DateUtil.time_to_str(DateUtil.substract_day(DateUtil.now(), 1), Const.STYLE_YYMMDD) txt = "又到了推荐极具视觉冲击图片的时刻了[微笑][微笑] @当幸福敲不开门 " url = "http://freepic.wetu.me/preview/%s%s.jpg" browser = LoginController.get_browser() passwd_dict = PasswdUtil.get_passwd_dict() LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD]) service.send_weibo_pics(txt, [url % (date, "i"), url % (date, "p")], browser)
def publish_articles(): url = 'http://www.jianshu.com' html = BeautifulSoup(HttpUtil.request(url)) articles_soup = [ parse_article_soup(article) for article in html.find(attrs={"class": "article-list thumbnails"}).findAll('li')] sorted_articles = sorted(articles_soup, key=lambda articl_soup:articl_soup[0], reverse=True) article_body = service.jian_shu_article_retrive(url + sorted_articles[0][1]) browser = LoginController.get_browser() passwd_dict = PasswdUtil.get_passwd_dict() send_text = '《%s》 又到每天推荐文章的时候到了,这些都是精选的枕边读物哦,希望大家喜欢@当幸福敲不开门[害羞][害羞][害羞] ' % article_body[0] service.send_weibo(send_text, service.txt_to_pic(article_body[1], browser), LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD]))
def search(): date = DateUtil.time_to_str(DateUtil.substract_day(DateUtil.now(), 1), Const.STYLE_YYMMDD) txt = '又到了推荐极具视觉冲击图片的时刻了[微笑][微笑] @当幸福敲不开门 ' url = 'http://freepic.wetu.me/preview/%s%s.jpg' browser = LoginController.get_browser() passwd_dict = PasswdUtil.get_passwd_dict() LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD]) service.send_weibo_pics(txt, [url % (date, 'i'), url % (date, 'p')], browser)
def __send(self, text, url): passwd_dict = PasswdUtil.get_passwd_dict() browser = LoginController.get_browser() try: service.send_weibo( text, url, LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD])) except Exception as e: print e browser.quit()
def search(self): driver = LoginController.get_firfox() LoginController.login(driver, self.name, self.passwd) driver.get('http://weibo.com/messages?topnav=1&wvr=6') list = MsgPage.get_other_fans_list(driver) list[0].click() list = MsgPage.get_other_fans_list(driver) for friend in list: friend.click() MsgPage.send_fans_msg(driver, u'hello') time.sleep(1) driver.get('http://weibo.com/duzijian?is_hot=1') weibo_list = [ WeiboPageCommon.weibo_parse(weibo) for weibo in WeiboPageCommon.get_all_weibo(driver)] print ''
def publish_articles(): url = 'http://www.jianshu.com' html = BeautifulSoup(HttpUtil.request(url)) articles_soup = [ parse_article_soup(article) for article in html.find(attrs={ "class": "article-list thumbnails" }).findAll('li') ] sorted_articles = sorted(articles_soup, key=lambda articl_soup: articl_soup[0], reverse=True) article_body = service.jian_shu_article_retrive(url + sorted_articles[0][1]) browser = LoginController.get_browser() passwd_dict = PasswdUtil.get_passwd_dict() send_text = '《%s》 又到每天推荐文章的时候到了,这些都是精选的枕边读物哦,希望大家喜欢@当幸福敲不开门[害羞][害羞][害羞] ' % article_body[ 0] service.send_weibo( send_text, service.txt_to_pic(article_body[1], browser), LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD]))
def publish(self): self.browser.set_page_load_timeout(120) passwd_dict = PasswdUtil.get_passwd_dict() LoginController.mobile_login(self.browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD]) #LoginController.login_by_cookie(self.browser) print('等待4s,滚动屏幕') WeiboPageCommon.scroll(self.browser) time.sleep(4) WeiboPageCommon.scroll(self.browser) time.sleep(4) WeiboPageCommon.scroll(self.browser) time.sleep(4) print('等待结束') try: weibo_list = WeiboPageCommon.get_all_weibo(self.browser) except: traceback.print_exc() self.browser.get('http://weibo.com/') time.sleep(4) weibo_list = WeiboPageCommon.get_all_weibo(self.browser) print('需要解析的微博数目:' + str(len(weibo_list))) weibos = map(lambda weibo_driver:self.__get_webibo_info(weibo_driver), weibo_list) #weibos.extend(map(lambda weibo_driver:self.__get_webibo_info(weibo_driver), WeiboPageCommon.get_all_weibo(self.browser)[len(weibo_list):])) weibos = filter(lambda w : w is not None , weibos) #打开新的选项卡 #self.browser.find_element_by_tag_name("body").send_keys(Keys.CONTROL + 't') #self.browser.execute_script("window.open('http://weibo.com/','_blank');") #wins = self.browser.window_handles #self.browser.switch_to_window(wins[1]) #self.browser.set_window_size(1366, 768) map(lambda weibo:self.__get_weiboer_info(weibo), weibos) #self.browser.switch_to_window(wins[0]) sorted_weibos = PublishStrategy.nums_strategy(weibos) WeiboPageCommon.forword_by_comment(self.browser, sorted_weibos[0]) self.browser.close() self.browser.quit() print ''
weibo = WeiboPageCommon.weibo_and_comment_parse(weibo_driver) #weibo.author_info = author_info except : traceback.print_exc() return None return weibo #获取微博用户信息 def __get_weiboer_info(self, weibo): try: print('访问:'), print(weibo.author_url) self.browser.get(weibo.author_url) time.sleep(4) info = FriendHomePage.get_friend_info(self.browser) fans_info = FansInfo() fans_info.focus_num = info[0] fans_info.fans_num = info[1] fans_info.weibo_num = info[2] weibo.author_info = fans_info pass except Exception as e: pass if __name__ == '__main__': crawler = WeiboPublishCrawler(LoginController.get_browser()) try: crawler.publish() except: crawler.browser.quit()
soup = BeautifulSoup(html) data = {"reserve_check": 1, "text": "", "html": soup.find('body')} url = 'http://www.changweibo.com/convert_changweibo_com.php' response = HttpUtil.request_post(url, data) img_url = json.loads(response)['image_url'] print(img_url) return img_url #返回简书文章内容和标题 def jian_shu_article_retrive(url): html = HttpUtil.request(url) content_soup = BeautifulSoup( html, fromEncoding="utf-8").find(attrs={"class": "article"}) title = content_soup.find(attrs={"class": "title"}).text.encode('utf-8') content = content_soup.find(attrs={"class": "show-content"}) return (title, content) if __name__ == '__main__': article = jian_shu_article_retrive('http://www.jianshu.com/p/6b36ae903883') browser = LoginController.get_browser() passwd_dict = PasswdUtil.get_passwd_dict() send_weibo( article[0], txt_to_pic(article[1], browser), LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD])) #print txt_to_pic([1], LoginController.get_chrome()) #print(jian_shu_article_retrive('http://www.jianshu.com/p/f3237b61d54a'))
#coding:utf-8 import sys import time sys.path.append('/home/workspace/webcrawler/weiboCrawler') from loginController import LoginController from Pages import FocusFollowPage class FansInfoCollector: def __init__(self, browser): self.browser = browser def collect(self): LoginController.login_by_cookie(self.browser) #self.browser.get('http://weibo.com/5579712614/follow') #time.sleep(4) a = self.browser.find_element_by_xpath("//a[@node-type='mUpload']") a.send_keys(open('2.jpg')) list = FocusFollowPage.focus_list_all_with_func(self.browser, self.p) print('') def p(self, fans): print fans.name if __name__ == '__main__': crawler = FansInfoCollector(LoginController.get_chrome()) crawler.collect()
soup = BeautifulSoup(html) data={ "reserve_check":1, "text":"", "html":soup.find('body') } url = 'http://www.changweibo.com/convert_changweibo_com.php' response = HttpUtil.request_post(url, data) img_url = json.loads(response)['image_url'] print(img_url) return img_url #返回简书文章内容和标题 def jian_shu_article_retrive(url): html = HttpUtil.request(url) content_soup = BeautifulSoup(html, fromEncoding="utf-8").find(attrs={"class": "article"}) title = content_soup.find(attrs={"class": "title"}).text.encode('utf-8') content = content_soup.find(attrs={"class": "show-content"}) return (title, content) if __name__ == '__main__': article = jian_shu_article_retrive('http://www.jianshu.com/p/6b36ae903883') browser = LoginController.get_browser() passwd_dict = PasswdUtil.get_passwd_dict() send_weibo(article[0], txt_to_pic(article[1], browser), LoginController.mobile_login(browser, passwd_dict[Const.WEIBO_USERNAME], passwd_dict[Const.WEIBO_PASSWD])) #print txt_to_pic([1], LoginController.get_chrome()) #print(jian_shu_article_retrive('http://www.jianshu.com/p/f3237b61d54a'))