python爬虫数据写入excel_Python学习一: 使用Python爬取 页数据,并写入Excel文件

自学Python的时候,在 上看见一篇比较简单的爬虫小项目,于是自己便也想跟着别人的代码来学一下.

看着这位博主的代码敲的以下代码,基本上都一致.

第一部分:根据URL进行数据的爬取

# -*-coding:utf-8-*-

import urllib2

import sys

from bs4 import BeautifulSoup

# 写入Excel表需要使用的库

from openpyxl import Workbook

reload(sys)

sys.setdefaultencoding(‘utf-8’) # 设置系统默认编码

print sys.version # 打印当前版本信息

sys.setdefaultencoding(‘utf-8’)

# 为了方便翻页将 址代码分成两部分

urlstart = ‘http://my.yingjiesheng.com/index.php/personal/xjhinfo.htm/age=’

urlend = ‘&cid=&city=21&word=&province=0&schoolid=&sdate=&hyid=0’

setSQLData = []

# 爬取数据 总页数64,为了练习,就取20页

for i in range(1, 11):

url = urlstart + str(i) + urlend

print ‘正在打印:’ + url;

request = urllib2.urlopen(url)

html = request.read()

bs = BeautifulSoup(html, ‘html.parser’, from_encoding=’utf-8′)

alllist1 = bs.find_all(‘tr’, class_=’bg0′)

alllist2 = bs.find_all(‘tr’, class_=’bg1′)

alllist = alllist1 + alllist2

# 对数据进行处理筛选

for contenttd in alllist:

month = contenttd.find(‘td’, width=’120′).text

companyweb = contenttd.find(‘td’, width=’250′).find(‘a’).get(‘href’)

if ‘http’ not in companyweb:

companyweb = ‘http://my.yingjiesheng.com/’ + str(companyweb)

companyName = contenttd.find(‘td’, width=’250′).find(‘a’).text

school = contenttd.find(‘td’, width=’250′).next_sibling.next_sibling.text

classRoom = contenttd.find(‘td’, width=’250′).next_sibling.next_sibling.next_sibling.next_sibling.text

row = [month, companyweb, companyName, school, classRoom]

setSQLData.append(row)#将每条数据再次写入列表

以下为打印结果:

开始

c0b99fc969cc

结束

以上便是本次的代码和输出结果,有很多需要优化的地方,进行简单罗列一下

针对URL的请求,数据的获取,以及获取到数据之后的数据处理筛选,使用Python类库进行优化

以这些方法的功能进行函数封装,创建不用功能的函数进行相互调用来实现.和主函数调用,不同文件调用

Excel文件在写入的时候使用Python进行排版美化展示

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树基本技能数据文件读写208180 人正在系统学习中 相关资源:win10,win11可用,智尊宝纺服装CAD制版软件,win7可用最新版9.74…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月26日
下一篇 2020年10月26日

相关推荐