2019年底看完謝春花的《2020磁玉,請對我好一點》的演唱會停忿,發(fā)現(xiàn)2020開頭并沒有那么順利,面試終面沒過蚊伞,其他機會也不算靠譜席赂,在遇上新冠,注定這一年會很艱難时迫,目前的工作也會好好做颅停,只不過受不了996和在你休息的時候還有鋪天蓋地的不正經(jīng)工作要你參與,所以我想重新選擇一次掠拳。在這里告訴大家獵聘和boss直聘都不靠譜癞揉,好的機會還是靠熟人內(nèi)推和自己投遞靠譜。
? ? ? 最近在單位忙于整理各種材料,各種材料線上評審喊熟,剛好剛才再弄一個項目的付款柏肪,了解完付款流程后,我無語+快奔潰了芥牌,首先線下收集材料->十多個表掃描通過OA走一遍付款申請烦味,同樣的再提一遍財務(wù)支出申請,通過后壁拉,紙質(zhì)材料找領(lǐng)導(dǎo)簽字谬俄,然后提交給財務(wù)。扇商。凤瘦。。案铺。心里幾萬只草泥馬飛過蔬芥。。控汉。
? ? ? 為了上班摸魚方便笔诵,重新拾起了爬蟲,并且這個銀行招聘網(wǎng)站是靜態(tài)的姑子,于是我就想爬一爬最新的招聘信息乎婿。這里的主要難點是去到正確的tag和內(nèi)容,之前用xpath取街佑,一直不對谢翎,取出來的都是一整塊,要不就是其中一段沐旨,最后好好研究了以下bs4的find_all 和find還有select方法森逮,終于成功的取到了想要的數(shù)據(jù),并且sqlite3數(shù)據(jù)庫比較簡單磁携,就把最新的數(shù)據(jù)存儲到數(shù)據(jù)表了褒侧,收取每一天最新的記錄,為了避免重復(fù)谊迄,每一天收集前闷供,我會清理當(dāng)天的數(shù)據(jù),具體代碼如下统诺,用到了以下庫request用來下載html網(wǎng)頁侠讯,lxml用來解析html標(biāo)簽呆盖,re用來截取日期,sqlite3用來創(chuàng)建數(shù)據(jù)庫并存儲數(shù)據(jù),datetime用來取當(dāng)前日期并格式化,time用來暫停cmd窗口看刪了幾條數(shù)據(jù)
`
#--utf-8--
#獲取銀行招聘信息匯總
import requests
from lxml import etree
from bs4 import BeautifulSoup
import re
import sqlite3
import datetime
import time
headers={'User-Agent':"Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.36(KHTML,like Gecko) Chrome/53.0.2785.143 Safari/537.36"}
#從網(wǎng)絡(luò)獲取內(nèi)容
def get_links(url):
? ? raw_content=requests.get(url,headers=headers)
? ? html=raw_content.text
? ? return html
#從本地文件獲取內(nèi)容
def? get_local(url):
? ? fp=open(url,'r')
? ? raw_text=fp.read()
? ? fp.close()
? ? return raw_text
###midder > div.ll > div > div:nth-child(4) > dl:nth-child(1) > dd:nth-child(3)
def get_zpinfo(raw_text,filename,database):
? ? bs=BeautifulSoup(raw_text,"lxml")
? ? cnt=0
? ? fullcontent=""
? ? #獲取當(dāng)前日期
? ? curdate=str(datetime.date.today())
? ? #刪除當(dāng)日查詢記錄,以便導(dǎo)入
? ? delcur(database,curdate)
? ? #延遲幾秒方便看結(jié)果
? ? time.sleep(5)
? ? contents=bs.select("#midder > div.ll > div > div:nth-child(4) > dl")
? ? for zplist in contents:
? ? ? ? title=zplist.find('a').get_text() #標(biāo)題
? ? ? ? raw_date=zplist.select("dd.list")[0].text? #發(fā)布日期
? ? ? ? date=re.search(r'\d\d\d\d-\d\d-\d\d',raw_date).group()
? ? ? ? location=zplist.select("dd")[1]? #工作地點
? ? ? ? url=zplist.find('a').get("href") #連接
? ? ? ? print(title+"? "+date+"? "+location.text+" "+url)
? ? ? ? if(date==curdate):
? ? ? ? ? ? insertdb(database,title,location.text,date,url)
? ? ? ? ? ? cnt=cnt+1
? ? ? ? fullcontent=fullcontent+title+","+date+","+location.text+","+url+"\n"? ?
? ? ? ? print("++++++++++++++++")
? ? print("========database insert $"+str(cnt)+"條")
? ? save2file(filename,fullcontent)#把信息存入txt
#保存信息到文件
def save2file(filename,content):
? ? fp=open(filename,'w')
? ? fp.write(content)
? ? fp.close()? ? ?
#創(chuàng)建數(shù)據(jù)庫
def createdb(database):
? ? conn=sqlite3.connect(database)
? ? c=conn.cursor()
? ? crtsql='''
? ? create table zpinfo(
? ? titile text,
? ? location char(50),
? ? fbdate? char(20),
? ? url? text,
? ? summary text
? ? );
? ? '''
? ? c.execute(crtsql)
? ? conn.commit()
? ? conn.close()
#簡單的插入數(shù)據(jù)庫
def insertdb(database,title,location,fbdate,url):
? ? conn=sqlite3.connect(database)
? ? c=conn.cursor()
? ? #print("open database:"+database+"sucess!")
? ? sql="insert into zpinfo values (? '"+title+"', '"+location+"','"+fbdate+"','"+url+"','');"
? ? c.execute(sql)
? ? conn.commit()
? ? conn.close()
#爬行去重 去除國內(nèi)外時事政治,數(shù)據(jù)庫插入如何檢索最新的記錄進行插入,根據(jù)日期進行檢索
#刪除當(dāng)天記錄香璃,以便重復(fù)導(dǎo)入,去重
def? delcur(database,date):
? ? conn=sqlite3.connect(database)
? ? c=conn.cursor()
? ? sql="delete from zpinfo where fbdate='"+date+"';"
? ? c.execute(sql)
? ? conn.commit()
? ? print("刪除總條數(shù) :",conn.total_changes)
#selector is #midder > div.ll > div > div:nth-child(4) > dl:nth-child(1) > dt > a
if __name__ == '__main__':
? ? url="http://www.yinhangzhaopin.com/new100.htm"
? ? html=get_links(url)
? ? ldir="D:/coding/new100.html"
? ? database="D:/coding/zhaopin.db"
? ? zhaopinfile="d:/coding/yinhangzhaopin.txt"
? ? #html=get_local(ldir)
? ? #createdb(database)
? ? get_zpinfo(html,zhaopinfile,database)
`
相關(guān)代碼已經(jīng)上傳到https://github.com/redpig315/jidandan舟误,哈哈葡秒,這就發(fā)現(xiàn)python還是非常好用的,并且網(wǎng)站上的資料比看書方便嵌溢,比如這個介紹python爬蟲的https://www.w3cschool.cn/python3/python3-enbl2pw9.html