前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Third python spider

Third python spider

作者头像
BORBER
发布2019-08-06 17:19:18
3040
发布2019-08-06 17:19:18
举报
文章被收录于专栏:BORBERBORBER

爬取 58同城 招聘信息 ?

这是我写的的第三个爬虫用来爬取 58同城上的招聘信息 也没有什么大用只是用来练手的,我觉得 编程是一个只有动手才能学会的东西.

这次的爬虫和前两次有些许不同,58 同城有自己的反爬措施.所以这次加上了限制请求频率的 time.sleap (其实 第二个爬虫也最好加入,因为我在使用第二个爬虫时,出现了远程服务器拒绝访问)

这此对于 selector 有的全新的认识 使用大大灵活了

58同城不需要注册就可以浏览 所以只要获取cookie就好

代码如下 :

代码语言:javascript
复制
from bs4 import BeautifulSoup
import os
import time
import urllib
import requests
import time

header = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3833.0 Safari/537.36',
    'cookie':'你自己的'
}
urls = []
file = open('E:\CODE\python\out\BORBER.txt','w') #自己写
def get_urls():
    for i in range(1,19):
        url = f'https://bj.58.com/ruanjiangong/pn{i}/?PGTID=0d302f82-0000-1864-07d2-bb7c42c41f7c&ClickID=2'
        urls.append(url)
    for each in urls:
        get_detials(each)

def get_detials(url):
    wb_data = requests.get(url)
    soup = BeautifulSoup(wb_data.text,'lxml')
    Address = soup.select('span.address')
    Job_names = soup.select('span.name')
    Job_salarys = soup.select('p.job_salary')
    Job_wels = soup.select('div.job_wel > span')
    Com_Names = soup.select('div.comp_name > a')
    Job_requires = soup.select('p.job_require')
    for Addres,Job_name,Job_salary,Job_wel,Com_Name,Job_require in zip(Address,Job_names,Job_salarys,Job_wels,Com_Names,Job_requires):
        data = {
            'Address':Addres.get_text(),
            'Job_name':Job_name.get_text(),
            'Job_salary':Job_salary.get_text(),
            'Job_wel':Job_wel.get_text(),
            'Com_Name':Com_Name.get_text(),
            'Job_require':Job_require.get_text().replace('&nbsp',' ')
        }
        fileprint(data)
def fileprint(data):
    file.write('地址: ' + data['Address'])
    file.write('\n')
    file.write('职位: '+data['Job_name'])
    file.write('\n')
    file.write('要求: '+data['Job_require'])
    file.write('\n')
    file.write('薪酬: '+data['Job_salary'])
    file.write('\n')
    file.write('福利: '+data['Job_wel'])
    file.write('\n')
    file.write('公司: '+data['Com_Name'])
    file.write('\n')
    file.write('\n===================================\n')

get_urls()
for url in urls:
    get_detials(url)
    time.sleep(2)

看了一下 京城就是京城啊 ?

附:爬取结果

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档