def shard_action(driver, udid): # 每天关注100个 print("【开始执行,每天自动关注180个公众号】") start_id = 0 end_id = 0 data = read_cofig(CONFIG_FILE) for device in data: if (device['udid']) == udid: start_id = device['start'] end_id = device['end'] break print('开始序列号' + str(start_id)) print('结束序列号' + str(end_id)) task_file = "/Users/liushinan/PycharmProjects/wechatspider/configs/task.csv" contacts = [] # 已关注的公众号 utils.enter_talkbox(driver, 'com.tencent.mm:id/b4m') with open(task_file, 'r', encoding="utf8", errors="ignore") as f: for line in f.readlines()[start_id:end_id]: line = line.replace("\n", "").split(",") id, biz = line[0], line[1] print('----------------当前测试序号:' + id + ' 当前测试biz:' + str(biz).lstrip('__biz=')) bizurl = 'https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=' \ + biz + '&scene=124#wechat_redirect' + '\n' + id # 发送消息 utils.send_msg(driver, bizurl) # 点击链接 utils.click_last_msg_in_talkbox(driver, 'com.tencent.mm:id/nl') # 点击自动关注 add_contact(driver) contacts.append(biz) print('已关注的公众号:' + str(contacts)) # 更新数据库 conn = dbutil.connectdb_wechatcluster() dbutil.insert_by_many_bizinfo_addcontact(conn, contacts) conn.close() # 更新配置文件 start_id = end_id end_id = end_id + 180 # 写入 yaml 文件 update_serial(CONFIG_FILE, udid, start_id, end_id)
""" 根据搜索关键词获取指定公众号类 """ user = "******" # 微信公众号账号 password = "******" # 公众号密码 # 设置要爬取的公众号列表 gzlist = [ '新华社', '人民网', '环球时报', '参考消息', '瞭望智库', '侠客岛', '中国之声', '都市快报', '新京报评论', '每日精选', '现代快报', '今日话题', '今日评说', '宁南山', '冯站长之家', '都市快报', '凤凰网南方都市报', '中国青年报', '北京青年报', '南方都市报', '每日关注', '华尔街见闻', '占豪', '凤凰网', '中央电视台', '中国之声', '南方周末', 'Vista看天下', '现代快报', '今日话题', '半月谈', '远方青木', '天涯时事', '后沙', '呦呦鹿鸣', '狐狸罐头', '时事纵横', '政事堂2019', '每日读报', '虎嗅APP', '观察者网', '今日焦点透视' ] conn = dbutil.connectdb_wechatcluster() def weChat_login(): """ 登录微信公众号,获取登录之后的cookies信息保存到本地文本 """ # 定义一个空的字典,存放cookies内容 post = {} # 用webdriver启动谷歌浏览器 print("启动浏览器,打开微信公众号登录界面") driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver') # 打开微信公众号登录页面 driver.get('https://mp.weixin.qq.com/') # 等待5秒钟 time.sleep(5) print("正在输入微信公众号登录账号和密码......")