Python + Splinter 实现自动百度贴吧发帖软件

在写这个脚本之前,搜了很多资料都没有搜到相关的对自己有帮助那只能自己动手写一个 !!话不多说,直接的,上代码

from splinter import Browser  
import os,time
import platform

executable_path = {'executable_path':'/home/nick/project/practice/tieba/chromedriver'}


bbs_url = 'http://www.myubbs.com/html/010/'
tieba_url = 'http://tieba.baidu.com/f?ie=utf-8&kw={}'
start_u = '中国人民大学'



with Browser('chrome',headless = False,**executable_path) as browser:


    browser.visit(bbs_url)
    universities_list = []
    universities = browser.find_by_xpath('//*[@id="classify"]/ul//li')
    for i in universities:
        universities_list.append(i.text)
    print(universities_list)
    # browser.quit()


    browser.visit(tieba_url.format(start_u))
    browser.find_by_xpath('//*[@id="com_userbar"]/ul/li[4]/div/a').first.click()



    time.sleep(10)
    browser.find_by_id('TANGRAM__PSP_11__footerULoginBtn').click()
    browser.fill('userName', '输入自己的账号')
    time.sleep(2)
    browser.fill('password', '输入自己的密码')
    time.sleep(30)


    time.sleep(10)
    #
    for i in universities_list[9:]:
        browser.fill('kw1',i)
        browser.find_by_text('进入贴吧').click()
        time.sleep(10)

        browser.find_by_xpath('/html/body/ul/li[2]/a').click()

        time.sleep(5)
        browser.fill('title', '帖子的标题')
        time.sleep(10)
        browser.find_by_id('ueditor_replace').fill('帖子内容' )
        time.sleep(30)
        browser.find_by_xpath('//*[@id="tb_rich_poster"]/div[3]/div[5]/div/button[1]').click()

        time.sleep(86400)



    browser.quit()

 

很少的代码就实现了,python还是很好用的!!!

稍微解释一下  splinter 跟selenium差不多 但是我感觉splinter很好用  代码很简洁 !!


安装splinter 

pip  install splinter

常用的方法

方法 描述
find_by_css(css_selector) 按css选择器查找页面元素
find_by_id(id) 按id查找页面元素
find_by_name(name) 按name查找页面元素
find_by_tag(tag) 按tag查找页面元素
find_by_text(text) 按text查找页面元素
find_by_xpath(xpath) 使用xpath选择器查询当前页面内容
find_link_by_href(href) 通过href查找当前页面中link
find_link_by_partial_href(partial_href) 通过部分href值匹配link
find_link_by_partial_text(partial_text) 通过部分text值匹配link
find_link_by_text(text) 通过text查找link
find_option_by_text(text) 通过text查找option元素
find_option_by_value(value)

通过value查找option元素

click() 单击该元素
fill(name, value) 通过控件name赋值
fill_form(field_values)

通过控件name赋值,参数是字典类型,即key为控件的name,字典项为要赋的值。支持text, password, textarea, checkbox, radio and select.checkbox必须制定字段字典项为boolean 类型

我是在linux下运行的 所以下载的是linux下的chromdriver  如果你是window就要下载.exe的chromedriver 

https://splinter.readthedocs.io/en/latest/drivers/chrome.html   这个官网的chromedriver 的下载配置方法

 

希望此小文可以帮助到您!!别忘点赞

 

https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=3kjozg4h 买服务器可以领券奥

你可能感兴趣的:(无聊搬砖,python脚本,百度贴吧自动发帖)