首页 / 知识
Python Selenium爬取数据
2023-11-12 13:41:00
最近公司有一项Python爬取数据的工作,借鉴以往的代码将爬虫重新更新并整理
将现有爬虫分成几部分
0.文件读取器
其实文件读取和4中的文件存储是在一个部分的
这里简单介绍下xls的读取
defdeal_xls_col(name,sheet_name):
body=xlrd.open_workbook(name)
try:
sh=body.sheet_by_name(sheet_name)
except:
print"EORR"
returnsh.col_values(0)格式请忽略
这里读取了一竖行的xls的数据
返回的格式为list
1.总调度器
这里主要是写逻辑,及0234的顺序。
2.网页下载器
网页下载器主要是来模拟浏览器访问对应url
一个简单的例子
classHtmlDownloader(object):
defdownload(self,url):
ifurlisNone:
returnNone
response=urllib2.urlopen(url,timeout=300)
ifresponse.getcode()!=200:
returnNone
returnresponse.read()
例子只是去访问url并没有对cookie等相关限制信息做处理(需要请自行添加)
3.网页分析器
网页分析器其实就是来处理下载器返回的html的源码,比如用selenium来处理的话则有
company_info_text=driver.find_element_by_class_name('company_info_text')
company_text=driver.find_element_by_class_name('rowb-c-whitecompany-content')
就是用selenium的一些方法来获取你需要的数据而已
4.文件存储器
这里以xls为例:
defcreat_xls_6(xls_name):
styleBoldRed=xlwt.easyxf('font:color-indexred,boldon')
headerStye=styleBoldRedwb=xlwt.Workbook()
ws=wb.add_sheet(xls_name)
ws.write(0,0,"name",headerStye)
ws.write(0,1,"oper_name",headerStye)
ws.write(0,2,"start_date",headerStye)
ws.write(0,3,"xfsSearchStatus",headerStye)
wb.save(xls_name)
创建xls表格
definsert_xls_6(xls_name,id,name,oper_name,start_date,xfsSearchStatus):
oldWb=xlrd.open_workbook(xls_name)
newWb=copy(oldWb)
newWs=newWb.get_sheet(0)
newWs.write(id,0,name)
newWs.write(id,1,oper_name)
newWs.write(id,2,start_date)
newWs.write(id,3,xfsSearchStatus)
newWb.save(xls_name)
插入数据到表格
这里面没有什么高深的秘密,只要你封装好自己的函数就好了
上面的例子还不是最好的版本,因为每次使用都要重新修改,应该传入一个数据来代替那些变量,这样就可以适配各种数据的表格创建和添加了
还有要说的就是:一些网站会限制你爬取数据,但是大多数网站都是友好的,但是这并不表示你可以肆无忌惮的毫无限制的去爬取。爬取的时间最好设置成晚上或者。。。。
还有就是不要对目标网站造成不必要的‘伤害’。
爬虫并不难,且行且珍惜!
以上内容为大家介绍了PythonSelenium爬取数据,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
linux命令连接网站?
linux命令连接网站?,网络,系统,信息,地址,名称,密码,设备,软件,网站,工具,Linux下必须知道的11个网络命令1、netstat -r:打印路由表。路由表保建立文件的linux命令?
建立文件的linux命令?,名字,系统,文件,命令,文件名,时间,名称,首次,密码,目录,linux怎么创建目录和文件1、进入linux系统并终端,输入命令”cd/“下载文件命令linux?
下载文件命令linux?,软件,系统,网络,工具,中心,服务,情况,名称,设备,代理,LINUX系统如何下载东西?1、wget是linux下一个从网络上自动下载文件linux命令行传文件?
linux命令行传文件?,手机,电脑,百度,数据,密码,位置,命令,文件,目录,数据库,Linux命令行上传文件到百度网盘在下边图示位置粘贴授权码,耐心等待怎么把数据库导入navicat?
怎么把数据库导入navicat?,软件,信息,密码,管理,数据库,服务,电脑,按钮,类型,文件,Navicat是一个强大的数据库管理工具,它可以连接和管理多种数快速构建Python爬虫IP代理池服务
快速构建Python爬虫IP代理池服务,代理,代码,网站,服务,检测,最新,公司,爬虫,质量,时间,在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为Python中有哪些方法可以解压文件?
Python中有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大深圳python培训课程哪家靠谱?
深圳python培训课程哪家靠谱?,深圳,人工智能,培训,检测,分析,实战,行业,转型,时间,体系,Python语言简单、易学、易读、易维护,学习成本和时间相Python数据分析要学什么数学
Python数据分析要学什么数学,数据,分析,技术,基础,体系,信息,基础知识,培训,下降,量化,因为不知道所学的数学知识到底有什么用。对于IT公司的python之访问对象的元数据
python之访问对象的元数据,数据,异常,培训,属性,模块,对象,类型,定义,文档,实例,当你对一个你构造的对象使用dir()时,可能会发现列表中的很多Python之数据库游标对象详解
Python之数据库游标对象详解,软件,代码,一致,培训,数据库,游标,对象,方法,事务,操作,常用数据库:MySQL、Oracle、SQLite但是包嵌入到Python中Python网络编程调用接收数据的三种
Python网络编程调用接收数据的三种方法,数据,代码,基础,通用,通讯,服务,网络,培训,方法,报文,最近在使用python进行网络编程开发一个通用的tc