• 抓取智联招聘的工作(指定了条件)


     1 #!usr/bin/env python
     2 #coding:utf-8
     3 
     4 import sys;  
     5 reload(sys);
     6 sys.setdefaultencoding('utf-8');
     7 
     8 import urllib2
     9 from bs4 import BeautifulSoup
    10 
    11 filename = open('work.txt','w')
    12 
    13 user_anget = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
    14 
    15 header = {
    16           'User-Agent' : user_anget,
    17           }
    18 url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8D%97%E6%98%8C&kw=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&sm=0&p='
    19 
    20 #filename = open('work_url.txt','w')
    21 url_list = []
    22 i = 1
    23 while i<3:
    24     full_url = url + str(i)
    25     request = urllib2.Request(full_url)
    26     response = urllib2.urlopen(request)
    27     soup = BeautifulSoup(response,'lxml',from_encoding='utf-8')
    28     #<td class="zwmc" style=" 250px;">
    29     links = soup.find_all('td',class_='zwmc')
    30     #print links
    31     for link in links:
    32         new_url = link.find('a')['href']
    33         print new_url
    34         url_list.append(new_url)
    35     i +=1
    36 print url_list
    37 
    38 filename = open('work.txt','a')
    39 while len(url_list) != 0:
    40     new_url = url_list.pop()
    41     request = urllib2.Request(new_url)
    42     response = urllib2.urlopen(request)
    43     soup = BeautifulSoup(response,'lxml',from_encoding='utf-8')
    44     #<div class="inner-left fl"> <h1>商品专员/数据分析员</h1>
    45     title = soup.find('div',class_="inner-left fl").find('h1')
    46     #<ul class="terminal-ul clearfix">
    47     clearfix = soup.find('ul',class_="terminal-ul clearfix")
    48     #<div class="tab-inner-cont">
    49     cont = soup.find('div',class_="tab-inner-cont")
    50     #print biaoti.get_text(),yaoqiu.get_text(),zhiwu.get_text()
    51     
    52     filename.write(new_url + '
    ')
    53     filename.write(title.get_text())
    54     filename.write(clearfix.get_text())
    55     filename.write(cont.get_text())
    56 filename.close()
    57 print url_list

    不足:

      1、获取网页的代码可以重复利用,这里没有写好!懒,主要是。

      2、还是没有用面向对象编程(白天试了,有些地方不懂,就pass了)

      3、没有按自己的要求保存数据。

      4、可能会抓取到重复,因为用的是列表,没有用集合。

      5、抓取的网页信息是从最后一项开始抓取的,这样也不好。

    我怎么感觉写的不足越来越多了啊 ,加了好几条了,(⊙﹏⊙)b,算了不写了,就这样吧,在写下去都没有信心了!

    不过总体来说还是完成了自己想要实现的目的,抓取每个工作的网址,并根据抓取的网址老获取想要的信息!

    有点进步,最起码代码就长了点了。

  • 相关阅读:
    Eclipse 的快捷键
    using的用法
    二进制、八进制、十进制、十六进制之间的转换
    解决重置PostgreSQL 9.6密码的问题
    byte[]数组和int之间的转换
    【2021】IOS技术 UITableViewCell分割线无留白技巧
    【2021】IOS技术:属性观察器(Property Observers)倒计时实现
    【2019】问题记录一:后端获取URL参数的值内加号“+”变成空格“ ”
    【2015】对面向对象的理解
    “退格键”(Backspace)你想退到哪里?比较含退格的字符串
  • 原文地址:https://www.cnblogs.com/114811yayi/p/5493951.html
Copyright © 2020-2023  润新知