自学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)#将每条数据再次写入列表
以下为打印结果:
开始

结束
以上便是本次的代码和输出结果,有很多需要优化的地方,进行简单罗列一下
针对URL的请求,数据的获取,以及获取到数据之后的数据处理筛选,使用Python类库进行优化
以这些方法的功能进行函数封装,创建不用功能的函数进行相互调用来实现.和主函数调用,不同文件调用
Excel文件在写入的时候使用Python进行排版美化展示
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树基本技能数据文件读写208180 人正在系统学习中 相关资源:win10,win11可用,智尊宝纺服装CAD制版软件,win7可用最新版9.74…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!