百科狗-知识改变命运!
--

Python Selenium爬取数据

乐乐2年前 (2023-11-21)阅读数 33#技术干货
文章标签数据

最近公司有一项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.网页下载器

Python Selenium爬取数据

网页下载器主要是来模拟浏览器访问对应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.baikegou.com/

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)