python-爬虫入门学习总结

1、爬虫的概述
(1)爬取数据
(2)反扒机制:
#1、非浏览器请求头判断
#2、IP限制
#3、验证码
#4、封账号
2、爬虫操作流程
(1)模拟浏览器发送请求
(2)下载网页代码
(3)只提取有用的数据
(4)存放于数据库或文件中
3、实战

import requests
import re
#创建一个excel存储数据
import xlwt
workBook = xlwt.Workbook(encoding='utf-8')#创建一个文件
workSheet = workBook.add_sheet('51job.res')#在文件对象中创建一个sheet
colName = ['职位名','公司名','工作地点','薪资','发布时间']#建立初始化放置数据位置
for col in range(0,len(colName)):#存储数据排头
    workSheet.write(0,col,colName[col])
#步骤1、爬取数据
def web(i= 1):
    web_url =f'https://search.51job.com/list/090200,000000,2720,00,9,99,%2520,2,{i}.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='
    global resp
    resp = requests.get(web_url)#获取网页信息
    resp.encoding = 'gbk'#转换为gbk格式
web()

N = int(re.findall('<span class="td">共(.*?)页,到第</span>', resp.text, re.S)[0])#获取数据页数
line = 1
for i in range(1,N+1):
    print(f'第【{i}】页数据')#console中打印出内容,防止出错
    web(i)
    info = re.findall('<div class="el">(.*?)</div>',resp.text,re.S)
    for one in info:
        # print(one)
        temp = re.findall('<a target="_blank" title="(.*?)" href=',one,re.S)
        jobName = temp[0]
        companyName = temp[1]
        address = re.findall('<span class="t3">(.*?)</span>',one,re.S)[0]
        salary = re.findall('<span class="t4">(.*?)</span>',one,re.S)[0]
        jobTime = re.findall('<span class="t5">(.*?)</span>',one,re.S)[0]
        print(jobName,'|',companyName,'|',address,'|',salary,'|',jobTime)#打印出内容,防止出错
        work = [jobName,companyName,address,salary,jobTime]
        for one in range(len(work)):
            workSheet.write(line, one, work[one])
        line += 1
    print('---------------------------------------------------------------')
workBook.save(r'D:\Automated Testing Tool\kill\51job.xls')#存放磁盘路径

我前面有篇文章是主要些xlrd,excel的数据读取,及时对数据进行操作。
本片文章杂糅知识点较多,主要是xlwt,excel的数据插入、正则、requests、基础语法等。
还不是很熟练,还需要多练习练习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值