千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Python Selenium爬取数据

Python Selenium爬取数据

来源:千锋教育
发布人:xqq
时间: 2023-11-06 21:11:06 1699276266

最近公司有一项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相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

tags: python培训
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT