1.python爬取招聘信息

简单爬取智联招聘职位信息

# !/usr/bin/env python

# -*-coding:utf-8-*-

"""

@Author  : xiaofeng

@Time    : 2018/12/18 16:31

@Desc : Less interests,More interest. (爬取智联招聘职位数据)

@Project : python_appliction

@FileName: zhilianzhaopin.py

@Software: PyCharm

@Blog    :https://blog.csdn.net/zwx19921215

"""

import pymysql as db

import requests

# mysql配置信息

mysql_config = {

'host': '101.0.2.110',

'user': 'test',

'password': 'test',

'database': 'xiaofeng',

'charset': 'utf8'

}

# url

url = 'https://data.highpin.cn/api/JobSearch/Search'

"""

爬取智联招聘职位数据

@:param page 页码

@:param position 职位关键字

"""

def zhilian(page, position):

# 封装头信息

headers = {

'Referer': 'https://www.highpin.cn/zhiwei/',

'Origin': 'https://www.highpin.cn',

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',

'Accept': 'application/json, text/javascript, * / *; q=0.01',

}

# 表单信息

datas = {

'Q': position,

'pageIndex': page

}

resp = requests.post(url, data=datas, headers=headers)

result = resp.json()

return result

"""

控制台输出

"""

def print_data(result):

body = result['body']['JobList']

print(body)

"""

数据入库

"""

def insert(result):

print("insert......")

database = db.connect(**mysql_config)

for item in result:

print(item)

sql = "INSERT INTO zhilian(JobID,JobTitle,ReferrerType,CompanyName,AnnualSalaryMin," \

"AnnualSalaryMax,JobLactionStr,JobLactionID,JobTags\

,JobDegree,JobDegreeId,WorkExperience,WorkExperienceID,CompanyIndustry,CompanyIndustryID," \

"CompanyType,CompanyTypeID,PublishDate,CompanyScale,SalaryWhite) \

VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"

# list convert to str

JobLactionID = str(item['JobLactionID'])

CompanyIndustryID = str(item['CompanyIndustryID'])

if 'JobTags' in item:

JobTags = str(item['JobTags'])

else:

JobTags = ''

cursor = database.cursor()

cursor.execute(sql, (

item['JobID'], item['JobTitle'], item['ReferrerType'], item['CompanyName'], item['AnnualSalaryMin'],

item['AnnualSalaryMax'],

item['JobLactionStr'], JobLactionID, JobTags, item['JobDegree'], item['JobDegreeId'],

item['WorkExperience'],

item['WorkExperienceID'], item['CompanyIndustry'], CompanyIndustryID, item['CompanyType'],

item['CompanyTypeID'], item['PublishDate'], item['CompanyScale'], item['SalaryWhite']))

database.commit()

cursor.close()

database.close()

def main(position):

result = zhilian(1, position)

page_count = result['body']['PageCount']

print("---------------共", page_count, "页-------------")

page = 1

while page <= page_count:

print('----------------第', page, '页-----------------')

result = zhilian(page, position)

# print_data(result)

body = result['body']['JobList']

insert(body)

page = page + 1

if __name__ == '__main__':

main('java')

控制台输出信息

入库数据

2.python爬取csdn博客文章

python简单爬取csdn博客文章列表(仅供学习)

步骤:

1.分页获取博客url

2.解析html 获取指定信息

# !/usr/bin/env python

# -*-coding:utf-8-*-

"""

@Author  : xiaofeng

@Time    : 2018/12/20 11:30

@Desc : Less interests,More interest.(爬取csdn博客文章列表)

@Project : python_appliction

@FileName: csdn.py

@Software: PyCharm

@Blog    :https://blog.csdn.net/zwx19921215

"""

import requests

from lxml import html

# 声明头信息

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'

}

"""

解析html,获取相关数据

@:param url 网页路径

"""

def parse_html(url):

response = requests.get(url=url, headers=headers)

text = html.fromstring(response.text)

hrefs = text.xpath('//h4/a/@href')

title = text.xpath('//h4/a/text()')

"""

文章摘要、发布日期、阅读数、评论数等其余属性自行按需获取即可

"""

# 移出第一个元素链接,不知道为啥 csdn 博客默认都多了一条数据,也就多了一个链接

hrefs.pop(0)

titles = []

# 格式化标题

for item in title:

st = str(item).replace('\n', '').strip()

if st != '':

titles.append(st)

# 组合输出

# 移出第一个元素,不知道为啥 csdn 博客默认都多了一条数据 “帝都的凛冬”

titles.pop(0)

i = 0

for item in titles:

results = {

'标题': titles[i],

'链接': hrefs[i]

}

i = i + 1

print(results)

"""

自动判断页数

@:param page_url 页面路径

@:param page 页号

"""

def get_page(page_url, page):

url = page_url + str(page)

print('url=', url)

response = requests.get(url=url, headers=headers)

text = html.fromstring(response.text)

next_page = text.xpath(

'//div[@class="ui-paging-container"]/ul/li[@class="js-page-next js-page-action ui-pager"]/text()')

if next_page:

parse_html(url)

page = page + 1

get_page(page_url, page)

else:

return -1

"""

分页爬取相关数据

@:param page_url 页面路径

@:param page 页号

"""

def get_page2(page_url, page):

url = page_url + str(page)

while page <= 10:

print('\n')

print("----------------------第", page, "页--------------------")

print('url=', url)

print('\n')

parse_html(url)

page = page + 1

url = page_url + str(page)

if __name__ == '__main__':

page_url = 'https://blog.csdn.net/zwx19921215/article/list/'

get_page2(page_url, 1)

希望能帮到你们,最后分享一些小福利

提取码:kt2v

链接容易被举报过期,如果失效了就在这里领取吧

python爬取控制台信息_python爬虫实战之爬取智联职位信息和博客文章信息相关推荐

  1. 利用python爬取租房信息_Python爬虫实战(1)-爬取“房天下”租房信息(超详细)

    #前言html 先看爬到的信息:python 今天主要用到了两个库:Requests和BeautifulSoup.因此我先简单的说一下这两个库的用法,提到的都是此文须要用到的.编程 #Requests ...

  2. python爬百度贴吧_Python爬虫实战之爬取百度贴吧帖子

    大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标对百度贴吧的任意帖子进行抓取 指定是否只抓取楼主发帖内 ...

  3. python小爬虫(爬取职位信息和博客文章信息)

    1.python爬取招聘信息 简单爬取智联招聘职位信息(仅供学习) # !/usr/bin/env python # -*-coding:utf-8-*- """ @Au ...

  4. python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息

    Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...

  5. go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

    利用splash爬取京东商品信息 一.环境 window7 python3.5 pycharm scrapy scrapy-splash MySQL 二.简介 为了体验scrapy-splash 的动 ...

  6. python爬取汽车之家_python爬虫实战之爬取汽车之家网站上的图片

    随着生活水平的提高和快节奏生活的发展.汽车开始慢慢成为人们的必需品,浏览各种汽车网站便成为购买合适.喜欢车辆的前提.例如汽车之家网站中就有最新的报价和图片以及汽车的相关内容,是提供信息最快最全的中国汽 ...

  7. python爬虫爬取教程_python爬虫实战之爬取京东商城实例教程

    前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...

  8. python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细

    前言 首先我们先来回忆一下上两篇爬虫实战文章: 第一篇:讲到了requests和bs4和一些网页基本操作. 第二篇:用到了正则表达式-re模块 今天我们用lxml库和xpath语法来爬虫实战. 1.安 ...

  9. python爬取链家新房_Python爬虫实战:爬取链家网二手房数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...

最新文章

  1. ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
  2. HDU 6321 Problem C. Dynamic Graph Matching (状压dp)
  3. linux python3运行,将Python3安装到Linux上并运行
  4. php数据库删除数据,php数据库删除数据的简单示例
  5. 4月18日云栖精选夜读 | 阿里靠什么支撑 EB 级计算力?
  6. jQuery 源码系列(二)init 介绍
  7. python3 数据结构_python系列十一:python3数据结构
  8. 品鉴贝叶斯公式里的大道理
  9. 【又见LCS】NYOJ-37 回文字符串
  10. NCL中绘制中国任意省份的精确地图
  11. 攻击机靶机环境搭建——网络设置
  12. python输入学生成绩计算平均值_从用户输入中计算和、积和平均值
  13. 历史 微信开发者工具_微信开发者工具历史记录
  14. 租房减税30,房东加租300!
  15. 什么是网络流量劫持?
  16. 读《Ideal MHD》(1)-磁流体力学方程组推导
  17. MySQL创建自定义函数提示:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its ......
  18. 【矩阵论】6. 正规方程与矩阵方程求解
  19. idea mysql可视化_IntelliJ IDEA 内置数据库管理工具实战
  20. 了解如何通过 UltraEdit丨UEStudio 中的窗口停靠系统显示、控制和配置文件选项卡

热门文章

  1. Dejavu Sans Mono字体使用指南
  2. android手机怎么拆机,Android 4.0手机Galaxy Nexus拆解报告
  3. 计算机里面excel移动不了,笔记本电脑excel光标不能移动怎么办
  4. 织梦dedecms深蓝色室内装修设计公司网站模板(自适应手机移动端)
  5. codeforce-Enduring Exodus(二分真好用)
  6. CSS_如何设置滚动条样式_超出左右滚动
  7. 大数据:从阿里数据分析岗看未来核心竞争力(六)
  8. 创建第一个 Rails 程序(使用mysql)
  9. 爬虫Jsoup设置代理
  10. 数据库服务器系统软件,服务器数据库用什么系统软件