图像

python自动刷新赶集和58信息

一朋友要出租房子,让我帮她在赶集和58上刷消息,我就很晕,这么简单还要帮忙,又不好拒绝,只有答应,不过每天手动刷真是麻烦,严重浪费我的时间,我就想利用python搞个自动刷新。

首先研究了赶集和58的网站结构,从技术角度,58做的要稍微专业点,赶集就一般了(个人胡堪)。
在python库中有一个splinter,这东西是Selenium2(自动化测试)的封装,Selenium2大名鼎鼎,你可以去Bing一下,Google停了我一般用bing,偶尔翻墙Google下,splinter很简洁,适合极客。
好了废话不多说,我直接贴代码,没有要解释的东东:

# !/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'jerry'


import time
from splinter import Browser

browser = Browser(user_agent='Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0')
browser.visit('http://m.m.58.com/login/?path=index&from=index_login')
time.sleep(5)
#browser.execute_script(clickLog('m-my_login_login_tab'))

browser.find_by_id('pptmobile').fill('yourusername')
browser.find_by_id('pptmobilepassword').fill('yourpassword')
browser.find_by_id('mobileLoginButton').click()
time.sleep(3)
browser.visit('http://post.58.com/update/longidlike12345678')

browser.find_by_id('fabu').click()
#browser.find_by_value('马上发布').click()
#browser.execute_script("$('#fabu').bind('click', $.cmcs.fabu_click);")
time.sleep(10)
# # ganji
browser.visit('https://passport.ganji.com/login.php?next=/')
browser.find_by_name('login_username').fill('yourusername')
browser.find_by_name('login_password').fill('yourpassword')
browser.find_by_value('登录赶集').click()
browser.visit('http://www.ganji.com/pub/pub.php?act=update&method=load&cid=7&mcid=26&domain=gy&id=12345678&domain=hangzhou')
browser.find_by_id('pub_btn').click()
#browser.find_by_value('立即发布>>').click()
time.sleep(10)
browser.quit()

代码没什么解释的,我本来想用cookie的,结果58的cookie太长了,而且过段时间会失效,我就用了自动类似录制的方法。
可以说任何东西都不是万能的,一旦我们测试的网站页面发生变化,这些就不起作用了,所以不要直接copy过去,要读懂再copy,方法很简单,我觉得是程序员就会。

发表评论