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

400-811-9990
手机站
千锋教育

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

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

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

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:西安千锋IT培训  >  技术干货  >  Python Selenium爬取数据

Python Selenium爬取数据

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

最近公司有一项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/

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

怎么更改python的编码

2023-11-06

python怎样将两个list合并

2023-11-06

python如何输出不回车换行

2023-11-06

最新文章NEW

Python脚本如何使用

2023-11-06

Python中apscheduler执行使用步骤

2023-11-06

python 插入排序

2023-11-06

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>