python爬取51job,爬取58同城数据
chanong
|代码:
#coding=utf-8import sysimport csvimport Request from bs4 import BeautifulSoup'''有遇到不懂的问题吗?符合您需求的Python学**交流群:821460695 资料已上传到群文件,可以帮忙自己下载就可以了。 '''reload(sys)sys.setdefaultencoding('utf-8')# 请求头设置def download(url): db_data=requests.get(url)soup=BeautifulSoup(db_data.text, 'lxml')titles=soup .select( 'body p.mainbox p.main p.content p.listBox ul li p.des p a:nth-of-type(1)') house=Soup.select('body p.mainbox p.main p.content p.listBox ul li p.des p.room') oneaddresss=Soup.select( 'body p.mainbox p.main p.content p.listBox ul li p.des p.add a:nth-of-type(1)' ) Twoaddresss=Soup.select( 'body p.mainbox p.main p.content p.listBox ul li p.des p.add a:nth-of-type(2)')price=Soup.select( 'body p.mainbox p.main p.content p.listBox ul li p.listliright p.money b') 标题、房屋、1 个地址、2 个地址、邮编中的价格(标题、房屋、1 个地址、2 个地址、价格): data=[ ( str( title.string).replace(' ', '').replace('\n', ''), house.get_text().split(' ')[0].replace(' ', '' ).replace(\'\n\', \'\'), house.get_text().split(' ')[-1].replace(' ', '').replace(\'\n\' , \' \'), oneaddress.get_text().replace(' ', '').replace(\'\n\', \'\'), Twoaddress.get_text().replace(' ', '' ).replace(\'\n\', \'\'),price.get_text().replace(' ', '').replace(\'\n\', \'\') ) ] csvfile=open(' kf.csv', 'ab')writer=csv.writer(csvfile) print('写一栋房子')writer.writerows(data) csvfile.close()# 初始csv 文件def info(): csvinfo=open('kf.csv', 'ab') begcsv=csv.writer(csvinfo) begcsv.writerow(['标题', '居住', '区域', '地址1', '地址2', '价格']) csvinfo.close ()if __name__=='__main__': info() 下载(url)








