Crawler:基于urllib+requests库+伪装浏览器实现爬取国内知名招聘网站,上海地区与机器学习有关的招聘信息(2018.4.30之前)并保存在csv文件内
生活随笔
收集整理的這篇文章主要介紹了
Crawler:基于urllib+requests库+伪装浏览器实现爬取国内知名招聘网站,上海地区与机器学习有关的招聘信息(2018.4.30之前)并保存在csv文件内
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Crawler:基于urllib+requests庫+偽裝瀏覽器實(shí)現(xiàn)爬取國內(nèi)知名招聘網(wǎng)站,上海地區(qū)與機(jī)器學(xué)習(xí)有關(guān)的招聘信息(2018.4.30之前)并保存在csv文件內(nèi)
?
?
?
目錄
輸出結(jié)果
設(shè)計(jì)思路
核心代碼
?
?
?
?
輸出結(jié)果
4月有31天?what?本人編程出錯(cuò),感謝糾正!
?
設(shè)計(jì)思路
?
核心代碼
# -*- coding: utf-8 -*-#Py之Crawler:爬蟲實(shí)現(xiàn)爬取國內(nèi)知名招聘網(wǎng)站,上海地區(qū)與機(jī)器學(xué)習(xí)有關(guān)的招聘信息并保存在csv文件內(nèi)import re import csv import requests from tqdm import tqdm from urllib.parse import urlencode from requests.exceptions import RequestExceptiondef get_one_page(city, keyword, page): paras = { 'jl': city, 'kw': keyword, 'isadv': 0, 'isfilter': 1, 'p': page }headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36','Host': 'sou.zhaopin.com','Referer': 'https://www.zhaopin.com/','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9'}url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?' + urlencode(paras)try:response = requests.get(url, headers=headers)if response.status_code == 200:return response.textreturn Noneexcept RequestException as e:return Nonedef parse_one_page(html): pattern = re.compile('<a style=.*? target="_blank">(.*?)</a>.*?' '<td class="gsmc"><a href="(.*?)" target="_blank">(.*?)</a>.*?' '<td class="zwyx">(.*?)</td>', re.S) items = re.findall(pattern, html) print(items) for item in items: #for循環(huán)的返回一個(gè)生成器job_name = item[0]job_name = job_name.replace('<b>', '')job_name = job_name.replace('</b>', '')yield { #yield是一個(gè)關(guān)鍵詞,類似return, 不同之處在于,yield返回的是一個(gè)生成器'job': job_name,'website': item[1],'company': item[2],'salary': item[3]}print(item)def write_csv_file(path, headers, rows): with open(path, 'a', encoding='gb18030', newline='') as f:f_csv = csv.DictWriter(f, headers)f_csv.writeheader()f_csv.writerows(rows)if __name__ == '__main__':main('上海', '機(jī)器學(xué)習(xí)', 10)?
?
總結(jié)
以上是生活随笔為你收集整理的Crawler:基于urllib+requests库+伪装浏览器实现爬取国内知名招聘网站,上海地区与机器学习有关的招聘信息(2018.4.30之前)并保存在csv文件内的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Py之PIL:不一样的PS之利用PIL库
- 下一篇: Crawler:基于BeautifulS