使用beautifulsoup方法抓取51job网页数据

# -*- coding:utf-8 -*-
#使用beautifulsoup方法抓取网页数据
import chardet
from bs4 import BeautifulSoup
import requests

url = 'https://search.51job.com/list/020000,000000,0000,00,9,99,python,2,1.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='
r = requests.get(url)
code = chardet.detect(r.content)['encoding']
r.encoding = code
soup = BeautifulSoup(r.text,'html.parser')
# print(soup)
#先找到父元素
parentDiv = soup.find('div',attrs={'id':'resultList'})   #一定要先找到id的位置
# print(type(parentDiv))    #<class 'bs4.element.Tag'>
divs = parentDiv.find_all('div',attrs={'class':'el'})
# print(divs)    #<class 'bs4.element.ResultSet'>
divs.pop(0)
dataList = []
for each in divs:
    data = []
    # e1 = each.find('p').find('a').string.strip()  #方法一
    # e1 = each.find('p').find('a')['title']     #方法二
    e1 = each.find('p').find('a').get('title')  #方法三
    data.append(e1)
    e2 = each.find('span',attrs = {'class':'t2'}).find('a').string
    data.append(e2)
    e3 = each.find('span',attrs = {'class':'t3'}).string
    data.append(e3)
    e4 = each.find('span',attrs = {'class':'t4'}).string
    data.append(e4)
    e5 = each.find('span',attrs = {'class':'t5'}).string
    data.append(e5)
    dataList.append(data)

print(dataList)
import xlwt
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('python')
for i,each in enumerate(dataList):
    for j,value in enumerate(each):
        sheet.write(i,j,value)
wbk.save('python.xls')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值