Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门
# -*- coding: utf-8 -*-"""Spyder EditorThis is a temporary script file."""import requests,bs4,openpyxl,time,seleniumfrom openpyxl.cell import get_column_letter,column_index_from_stringfrom selenium import webdriverexcelName="51job.xlsx"sheetName="Sheet1"wb1=openpyxl.load_workbook(excelName)sheet=wb1.get_sheet_by_name(sheetName)start=1charset="gb2312"site="http://jobs.51job.com/all/co198308.html"browser=webdriver.Firefox()browser.get(site)linkElem=browser.find_element_by_link_text("下一页")linkElem.click()#elem = browser.find_element_by_class_name('el')#返回标签的值#elem.text#elems = browser.find_elements_by_class_name('el')elem=browser.find_element_by_id('joblistdata')elem.text''''洛阳医药代表(学术专员)\n大专\n洛阳\n4500-5999/月\n03-07\n新乡医药代表(学术专员)\n大专\n新乡\n4500-5999/月\n03-07\n郑州医药代表(学术专员)\n大专\n郑州-二七区\n4500-5999/月\n03-07\n河南医药代表(学术专员)\n大专\n郑州-二七区\n4500-5999/月\n03-07\n苏州医药代表(学术专员)\n连云港\n4500-5999/月\n03-07\n宁波医药代表(学术专员)\n大专\n宁波\n6000-7999/月\n03-07\n杭州医药代表(学术专员)\n大专\n杭州\n6000-7999/月\n03-07\n上海医药代表(学术专员)\n大专\n上海\n4500-5999/月\n03-07\n盐城医药代表(学术专员)\n大专\n连云港\n6000-7999/月\n03-07\n淮安医药代表(学术专员)\n大专\n连云港\n6000-7999/月\n03-07\n徐州医药代表(学术专员)\n大专\n连云港\n4500-5999/月\n03-07\n连云港医药代表(学术专员)\n大专\n连云港\n4500-5999/月\n03-07\n会计\n本科\n连云港\n3000-4499/月\n03-07\n工艺研究员\n本科 | 招聘5人\n连云港\n4500-5999/月\n03-07\n药物合成\n本科 | 招聘10人\n连云港\n3000-4499/月\n03-07\n财会专员\n本科 | 招聘2人\n连云港\n2000-2999/月\n03-07\n会计主管\n3-4年 | 本科 | 招聘1人\n南京-玄武区\n8-10万/年\n03-07\n福建产品专员\n硕士\n连云港\n6000-7999/月\n03-07\n上海产品专员\n硕士\n上海\n6000-7999/月\n03-07\n浙江商业代表\n大专\n杭州\n6000-7999/月\n03-07\n上一页\n1\n2\n3\n4\n5\n6\n7\n下一页''''#每个网站爬取相应数据def Craw(site): res=requests.get(site) res.encoding = charset soup1=bs4.BeautifulSoup(res.text,"lxml") div=soup1.select('.el') len_div=len(div) for i in range(len_div): #print ("i:",i) content=div[i].getText() content_list=content.split('\n') name=content_list[1] #print ("name:",name) education=content_list[2] #print ("education:",education) position=content_list[3] #print ("position:",position) salary=content_list[4] #print ("salary:",salary) date=content_list[5] #print ("date:",date) sheet['A'+str(i+2)].value=name sheet['B'+str(i+2)].value=education sheet['C'+str(i+2)].value=position sheet['D'+str(i+2)].value=salary sheet['E'+str(i+2)].value=date''' Craw(site) wb1.save(excelName) '''