python贴吧回帖-python控制浏览器爬取百度贴吧回复并写入Excel
[Python] 纯文本查看 复制代码# http://tieba.baidu.com/i/i/my_reply
from selenium import webdriver
import time
from bs4 import BeautifulSoup
import xlwt
def login(name, passwd):
# 1.打开浏览器
driver = webdriver.Chrome()
# 2.设置地址
url = "https://www.baidu.com/"
# 3.访问网址
driver.get(url)
# 4.分析网页,找到登录元素
# login = driver.find_elements_by_id('u1').find_elements_by_class_name('lb')[0] #方法一
login = driver.find_elements_by_css_selector('div[id=u1] a[class=lb]')[0] #方法二
#5.点击登录按钮
login.click()
time.sleep(2)
changeusename=driver.find_element_by_id("TANGRAM__PSP_10__footerULoginBtn")
changeusename.click()
#点击之后要加等待时间
time.sleep(2)
#8.找到 输入 用户名 和密码框,并且设置内容
#
username = driver.find_element_by_id('TANGRAM__PSP_10__userName')
#输入账号名
username.send_keys(name)
time.sleep(1)
#
password = driver.find_element_by_id('TANGRAM__PSP_10__password')
#输入密码
password.send_keys(passwd)
time.sleep(2)
#
submit = driver.find_element_by_id('TANGRAM__PSP_10__submit')
submit.click()
return driver
def opentieba(browser, url = 'http://tieba.baidu.com/i/i/my_reply?&pn=1'):
browser.get(url)
context=browser.page_source
soup = BeautifulSoup(context, 'html.parser')
context=browser.find_element_by_css_selector(".simple_block_container")
print(context.text)
cont=soup.find_all(class_='b_right_up')
return cont
def writeXls(cont):
i = 0 # 从第几行开始写
# 1、导入模块
# 2、创建workbook(其实就是excel,后来保存一下就行)
# workbook = xlwt.Workbook(encoding='ascii')
workbook = xlwt.Workbook(encoding = 'utf-8')
# 3、创建表
worksheet = workbook.add_sheet('sheet1')
for link in cont:
print(link)
item = BeautifulSoup(str(link), 'html.parser')
reply_context=item.find(class_="for_reply_context")
thread_title=item.find(class_="thread_title")
href = str(thread_title)[31:54]
href = 'http://tieba.baidu.com/' + href
print(reply_context.text)
worksheet.write(i, 0, label=reply_context.text)
print(thread_title.text)
worksheet.write(i, 1,xlwt.Formula('HYPERLINK("'+href+'"," '+thread_title.text+'")'))
print(href)
i = i + 1
time.sleep(1)
# 5、保存
date = time.strftime("%Y%m%d%H%M%S", time.localtime())+ '_'
workbook.save('Excel_'+date+str(i)+'.xls')
i = 0
return "successful"
def writedata(data):
#1、导入模块
#2、创建workbook(其实就是excel,后来保存一下就行)
workbook = xlwt.Workbook(encoding='ascii')
# 3、创建表
worksheet = workbook.add_sheet('sheet1')
#4、往单元格内写入内容
worksheet.write(0, 0, label=data)
# 5、保存
workbook.save('Excel_Workbook.xls')
def main():
driver = login("美食拍客136822", "*****")
str = input("请输入任意内容确认你已经登录:")
xlscontext = opentieba(driver, url = 'http://tieba.baidu.com/i/i/my_reply?&pn=1')
res = writeXls(xlscontext)
print(res)
if __name__ == '__main__':
main()
python贴吧回帖-python控制浏览器爬取百度贴吧回复并写入Excel相关推荐
- Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息
Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息 基础: Python 爬虫 之 Selenium.webdriver 的安装,以及模拟打开操作 ...
- python基金筛选_Python爬取基金的排名信息,写入excel中方便挑选基金
原标题:Python爬取基金的排名信息,写入excel中方便挑选基金 基金是一种很好的理财方式,利用pyhton根据以往的跌幅情况进行基金选择,是一种很可靠的选择方式.本文以债券基金(稳定且风险较低) ...
- Python使用标准库urllib模拟浏览器爬取网页内容
爬取网页内容的第一步是分析目标网站源代码结构,确定自己要爬取的内容在哪里,这要求对HTML代码有一定了解,对于某些网站内容的爬取还需要具有一定的Javascript基础.但是,如果目标网站设置了反爬机 ...
- Python爬虫:Selenium模拟Chrome浏览器爬取淘宝商品信息
对于采用异步加载技术的网页,有时候想通过逆向工程的方式来设计爬虫进行爬取会比较困难,因此,要想通过python获取异步加载数据往往可以使用Selenium模拟浏览器的方式来获取. Selenium是一 ...
- 利用python加selenium模拟浏览器爬取百度爱企查企业详细信息
目录 说明 企查查网页构成方式 代码与详解 说明 本人不是什么爬虫大佬,只是最近在做一个项目的时候需要根据企业的名称把企业的信息爬取下来,例如营业执照.工商注册号等.在网上找了很多的信息与资源,都不是 ...
- python爬虫从小白到高手 Day1 爬取百度音乐歌单
大部分新手接触编程时,往往是刚开始最有兴致与干劲时,看教程写出的代码有各种各样的问题,而往往自己没有能力Debug,如果身边也没有指导,那么热情的火苗就"噗"的熄灭. 如果在开始时 ...
- python BeautifulSoup爬取豆瓣电影top250信息并写入Excel表格
豆瓣是一个社区网站,创立于2005年3月6日.该网站以书影音起家,提供关于书籍,电影,音乐等作品信息,其描述和评论都是由用户提供的,是Web2.0网站中具有特色的一个网站. 豆瓣电影top250网址: ...
- 2020-09-22Python爬取基金的排名信息,写入excel中方便挑选基金
基金是一种很好的理财方式,利用pyhton根据以往的跌幅情况进行基金选择,是一种很可靠的选择方式.本文以债券基金(稳定且风险较低)的爬虫和策略选择为例子,实现基金的选择. 1.数据库准备 1.1.ub ...
- Python使用多进程提高网络爬虫的爬取速度
多线程技术并不能充分利用硬件资源和大幅度提高系统吞吐量,类似需求应使用多进程编程技术满足. 以爬取中国工程院院士简介和照片为例,参考代码如下,请自行分析目标网页结构并与参考代码进行比对.另外需要注意, ...
最新文章
- Hibernate4一对一关系映射(唯一外键方式)
- android输入法源码分析,基于Android的输入法的设计与实现.doc
- button 样式_实战PyQt5: 111-可以使用QSS样式表的部件
- 韩信走马分油(C语言)
- dropzonejs vue 使用_如何在Dropzone上手动触发上传文件事件
- 干掉if-else,试试状态模式!
- 麒麟系统下安装win10_win10系统安装图文详细教程
- 条款40:慎重的选择多重继承
- 如何在mysql中创建学生信息表_数据库怎么创建学生信息表
- Android 获取系统签名 并使用系统签名
- git add未commit reset恢复文件
- 维多利亚计算机专业怎么样,维多利亚大学计算机科学专业 学生要学哪些内容...
- 【寒江雪】UV+Depth信息计算世界坐标
- Linux man帮助文档
- arcgis把jpg转成栅格图像_[转载]在ArcGIS中配准(TIF、JPEG)栅格图像并矢量化(转)...
- MFC实现简单连续加减计算器
- webservice 405 java_用浏览器测试Get与Post Webservice,Post一直报405错误,而Get能够成功的原因与解决方法...
- GPON标准简要解析
- 365天挑战LeetCode1000题——Day 012 每日一题
- 【笔试】三七互娱笔试 web后端工程师
热门文章
- 如何定义一个自己的可复用的JS文件
- cdn大全 jquery/jqueryUI/Dojo/MooTools/Prototype
- HDU 1181 变形课
- SQL Server 2008编写脚本时智能提示功能丢失的处理
- 2012-5-3 线程和进程的区别
- 2011年7个最佳的Linux发行版
- Codeforces Round #171 (Div. 2)
- leetcode[161] One Edit Distance
- 计算机编程导论python程序设计答案-学堂在线_计算机科学与Python编程导论_作业课后答案...
- python程序设计语言是什么类型的语言-Python 是弱类型的语言 强类型和弱类型的语言区别...