最新消息:

百度贴吧批量复制粘贴代码python+Selenium脚本

学习 林夕 296浏览 0评论

百度贴吧页面定位一直搞不定,最后用XPath Helper工具查找到div class名才定位到。
另一个就是学会鼠标直接点击链接按钮的方法,如下面代码第23行。
下面的脚本文件存为utf8文件后运行。

#!/usr/bin/env python
# -*- coding: utf_8 -*-

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep

driver = webdriver.Chrome()
#打开chrome浏览器
driver.get("http://tieba.baidu.com/mo/q---64C6FF91C5EE192BC97EBEB0BCA5FD32%3AFG%3D1-sz%40320_240%2C-1-3-0--2--wapp_1483587368268_369/m?pnum=1&kz=4766186314&see_lz=1&tnum=14565&pinf=1_2_0&pn=240&r=0&pd=0&lp=6006&sub=%E8%B7%B3%E9%A1%B5")
#打开网址
content = driver.find_element_by_class_name('d')
#帖子楼层内容,
with open('C:\\Users\\luoqkk\\Desktop\\qidian.txt', 'a+',encoding='utf-8') as f:
#打开文件并写入,注意路径要转义,本来是一个斜杠,再加一个斜杠。
    print("\r\n\r\n"+(content.text), file=f)
        #打开文件并写入

#下面这一块代码让它循环执行。
row = 1
while row <= 9:
#目录页有多少章,就把循环次数写多少次
    driver.find_element_by_link_text('下一页').click()
    #打开下一章链接。这个是直接点击下一页那个按钮。
    sleep(10)
    #延时10秒等待页面加载完成,其实不加延时也是可以的,python是一条一条执行命令的,页面加载完成才会执行下一条命令。
    content = driver.find_element_by_class_name('d')
    #章节内容
    with open('C:\\Users\\luoqkk\\Desktop\\qidian.txt', 'a+',encoding='utf-8') as f:
    #打开文件并写入,注意路径要转义,本来是一个斜杠,再加一个斜杠。
        print("\r\n\r\n"+(content.text), file=f)
        #打开文件并写入,标题前面空两行,章节内容前空一行
    row += 1
    #循环变量row应该跟while条件下面的第二行是同样的缩进。表示是子语句的一部分。不可顶格,顶格后循环不起作用。
#循环执行的代码块。

转载请注明:一秒钟的梦 » 百度贴吧批量复制粘贴代码python+Selenium脚本

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址