python爬取58上的招聘信息

本文介绍了如何使用Python的urllib2、BeautifulSoup和MySQL库抓取和存储58同城上的招聘信息。通过分析网页源代码,提取职位标题、薪资、公司规模和地址等关键信息,并探讨了应对反爬策略的方法。
摘要由CSDN通过智能技术生成

爬虫学习记录
获取58同城上的招聘信息

爬虫的意义
我们编写爬虫就是把网页中的关键信息爬取下来,然后做分析,现在是数据时代,所以数据是很重要的资源。爬虫可以帮助我们获取这些资源。

本文的目的
现在的爬虫技术很多,但是以python为主,作为初学者我建议不要使用太多现成的工具,这样无法学习到里面的技术,比如你在使用scrapy时都很难了解它在内部调用了什么,这篇文章也将用urllib2+beautifulSoup+mysql来获取58同城上的招聘信息,最关键的是分析网页源代码,找到需要的信息。

获取网页源码
url = “http://hz.58.com/tech/” + “pn”+str(start)+"/"
request = urllib2.Request(url=url,headers=headers)

        response = urllib2.urlopen(request,timeout=60)
        html = response.read().decode('utf-8')
    

        soup = BeautifulSoup(html,'lxml')

获取58的列表信息

        for item in all_dl:

           job =  item.find('dt').find('a')
           info = getdatas.getInfo(job['href'])
           if info != 0:
               count += insertmysql.insertMysql(info)
               print "现在的数据量为%d"%(count)
           time.sleep(5)
        start = start + 1

其中的每一个item就是一条招聘信息,然后进入这个二级地址,获取相关的招聘信息

二级网址
在这个部分首先也要获取网页源代码,然后用beautifulSoup来匹配关键信息,beautifulSoup的用法可以在官网看看。

def getInfo(url):
headers = {}
headers[“User-Agent”] = “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36”

try:
    # proxies = {'http': proxy_ip}
    request = urllib2.Request(url=url, headers=headers)
    # request.set_proxy(proxy_ip, 'http')
    response = urllib2.urlopen(request)
    html = response.read().decode('utf-8')
    # html = requests.get(url, headers=headers, proxies=proxies)

    html = BeautifulSoup(html, 'lxml')
    info = {}
    info['id'] = uuid.uuid4()
    info['
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的使用Python爬取51job招聘信息的示例程序: ```python import requests from bs4 import BeautifulSoup url = 'https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') job_list = soup.find_all('div', class_='el') for job in job_list: job_name = job.find('a', class_='t').text.strip() company_name = job.find('span', class_='t2').text.strip() location = job.find('span', class_='t3').text.strip() salary = job.find('span', class_='t4').text.strip() job_url = job.find('a', class_='t')['href'] print(job_name, company_name, location, salary, job_url) ``` 该程序使用requests库和BeautifulSoup库来获取和解析51job网站的招聘信息页面。它首先构建了目标页面的URL,并使用requests库发送HTTP请求,然后使用BeautifulSoup库解析响应的HTML内容。程序从解析后的HTML中查找招聘信息的列表,然后使用循环迭代每个招聘信息,并从每个信息中提取必要的信息,例如职位名称,公司名称,地点,薪资和招聘链接。最后,程序将提取的信息打印到控制台中。 需要注意的是,该示例程序只能爬取第一页的招聘信息。如果需要爬取更多的页面,需要修改URL中的页码参数。通过修改页码参数,可以实现爬取更多页面的招聘信息
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值