爬虫网站 python 爬虫 直播网站爬虫怎么挣钱

如何利用Python爬虫从网页上批量获取想要的信息?
稍微说一下背景,当时我想研究蛋白质与小分子的复合物在空间三维结构上的一些规律,首先得有数据啊,数据从哪里来?就是从一个涵盖所有已经解析三维结构的蛋白质-小分子复合物的数据库里面下载。这时候,手动一个个去下显然是不可取的,我们需要写个脚本,能从特定的网站选择性得批量下载需要的信息。python是不错的选择。
#python中用于获取网站的模块
import urllib2, cookielib
有些网站访问时需要cookie的,python处理cookie代码如下:
cj = cookielib.CookieJar ( )
opener =& urllib2.build_opener(
urllib2.HttpCookieProcessor(cj) )
urllib2.install_opener (opener)
通常我们需要在网站中搜索得到我们需要的信息,这里分为二种情况:
1. 第一种,直接改变网址就可以得到你想要搜索的页面:
def GetWebPage( x ): &#我们定义一个获取页面的函数,x
是用于呈递你在页面中搜索的内容的参数
url = ''&+
‘你想要搜索的参数’& &# 结合自己页面情况适当修改
page = urllib2.urlopen(url)
pageContent = page.read( )
pageContent&&&&&&&&&&&&&&&
#返回的是HTML格式的页面信息
2.第二种,你需要用到post方法,将你搜索的内容放在postdata里面,然后返回你需要的页面
def GetWebPage( x ): &#我们定义一个获取页面的函数,x
是用于呈递你在页面中搜索的内容的参数
'http://xxxxx/xxx'&&&
#这个网址是你进入搜索界面的网址
postData =
urllib.urlencode(&{&&各种‘post’参数输入&}
)&& #这里面的post参数输入需要自己去查
req= urllib2.Request (url, postData)
pageContent = urllib2.urlopen (req). read( )
pageContent&&&&&&&&&&&&&&&
#返回的是HTML格式的页面信息
在获取了我们需要的网页信息之后,我们需要从获得的网页中进一步获取我们需要的信息,这里我推荐使用 BeautifulSoup
这个模块, python自带的没有,可以自行百度谷歌下载安装。 BeautifulSoup
翻译就是‘美味的汤’,你需要做的是从一锅汤里面找到你喜欢吃的东西。
import re& # 正则表达式,用于匹配字符
from bs4 import BeautifulSoup& #
导入BeautifulSoup 模块
=&&BeautifulSoup(pageContent)&
#pageContent就是上面我们搜索得到的页面
soup就是 HTML
中所有的标签(tag)BeautifulSoup处理格式化后的字符串,一个标准的tag形式为:
通过一些过滤方法,我们可以从soup中获取我们需要的信息:
(1) find_all (&name , attrs , recursive ,
text , **kwargs)
& 这里面,我们通过添加对标签的约束来获取需要的标签列表, 比如
soup.find_all ('p') 就是寻找名字为‘p’的 标签,而soup.find_all (class =
"tittle") 就是找到所有class属性为"tittle" 的标签,以及soup.find_all ( class =
re.compile('lass')) 表示
class属性中包含‘lass’的所有标签,这里用到了正则表达式(可以自己学习一下,非常有用滴)
当我们获取了所有想要标签的列表之后,遍历这个列表,再获取标签中你需要的内容,通常我们需要标签中的文字部分,也就是网页中显示出来的文字,代码如下:
&&&tagList
= soup.find_all
(class="tittle")&&
#如果标签比较复杂,可以用多个过滤条件使过滤更加严格
&& for tag in tagList:
&&&&&&&&&print
f.write ( str(tag.text) )& #将这些信息写入本地文件中以后使用
(2)find( name , attrs , recursive , text , **kwargs )
&它与 find_all( )
方法唯一的区别是&find_all()&方法的返回结果是值包含一个元素的列表,而&find()&方法直接返回结果
(3)find_parents( ) &find_parent( )
find_all()&和&find()&只搜索当前节点的所有子节点,孙子节点等.&find_parents()&和&find_parent()&用来搜索当前节点的父辈节点,搜索方法与普通tag的搜索方法相同,搜索文档搜索文档包含的内容
(4)find_next_siblings()
&find_next_sibling()
这2个方法通过 .next_siblings 属性对当 tag 的所有后面解析的兄弟 tag
节点进代,&find_next_siblings()&方法返回所有符合条件的后面的兄弟节点,find_next_sibling()&只返回符合条件的后面的第一个tag节点
(5)find_previous_siblings()
&find_previous_sibling()
这2个方法通过 .previous_siblings 属性对当前 tag 的前面解析的兄弟 tag
节点进行迭代,&find_previous_siblings()方法返回所有符合条件的前面的兄弟节点,&find_previous_sibling()&方法返回第一个符合条件的前面的兄弟节点
(6)find_all_next() &find_next()
这2个方法通过 .next_elements 属性对当前 tag 的之后的&tag
和字符串进行迭代,&find_all_next()&方法返回所有符合条件的节点,&find_next()&方法返回第一个符合条件的节点
(7)find_all_previous() 和 find_previous()
这2个方法通过 .previous_elements 属性对当前节点前面的 tag
和字符串进行迭代,&find_all_previous()&方法返回所有符合条件的节点,&find_previous()方法返回第一个符合条件的节点
具体的使用方法还有很多,用到这里你应该可以解决大部分问题了,如果要更深入了解可以参考官方的使用说明哈!&&&&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Python爬虫入门:如何爬取招聘网站并进行分析其中:items.py是从网页抽取的项目jobSpider.py是主程序2.2链接的构造用浏览器打开前程无忧网站 ,在职务搜索里输入“交互设计师”,搜索出页面后,观察网址链接:/jobsearch/search_result.php?fromJs=1&keyword=%E4%BA%A4%E4%BA%92%E8%AE%BE%E8%AE%A1%E5%B8%88&keywordtype=2&lang=c&stype=2&postchannel=0000&fromType=1&confirmdate=9
网址链接中并没有页码,于是选择第二页,观察链接:红色标记的为页码,于是可以通过更改此处数字来实现从“第1页”到第44页“的网页自动跳转。当然读者也可以通过网页内容抓取处下一页的链接进行自动翻页,有兴趣的网友可以试下:2.3网页分析我要抓取的几个数据分别是职位名公司名工作地点薪资发布时间截图如下,右侧是浏览器-开发者工具(F12)里查找的源代码,和网页对应查看:2.4数据字段:items.py# -*- coding: utf-8 -*-
# Define here the models for your scraped items
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class SpiderjobItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
jobname = scrapy.Field()
companyname= scrapy.Field()
workingplace= scrapy.Field()
salary= scrapy.Field()
posttime= scrapy.Field()
2.5主要运行程序我是用的python2.7编写的,并且使用XPath表达式进行数据的筛选和提取。# -*- coding: utf-8 -*-
from scrapy import Request
from scrapy.spiders import Spider
from spiderjob.items import SpiderjobItem
class jobSpider(Spider):
name = 'jobSpider'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 LBBROWSER',
'Accept':'text/css,*/*;q=0.1',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,q=0.8',
'Referer':'close',
'Host':''};
def start_requests(self):
url1 = '/list/000,,99,%25E4%25BA%25A4%25E4%25BA%2592%25E8%25AE%25BE%25E8%25AE%25A1%25E5%25B8%2588,2,'
url2 = '.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=1&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='
url = url1 +'1'+ url2
yield Request(url, headers=self.headers)
def parse(self, response):
item = SpiderjobItem()
jobs = response.xpath('//div[@class="dw_table"]/div[@class="el"]')
for job in jobs:
item['companyname'] = job.xpath(
'.//span[@class="t2"]/a[@target="_blank"]/text()').extract()[0]
item['workingplace'] = job.xpath(
'.//span[@class="t3"]/text()').extract()[0]
item['salary'] = job.xpath(
'.//span[@class="t4"]/text()').extract()
item['posttime'] = job.xpath('.//span[@class="t5"]/text()').extract()[0]
item['jobname'] = job.xpath(
'.//p[@class="t1 "]/span/a[@target="_blank"]/text()').extract()[0]
yield item
for i in range(2,44):
url1 = '/list/000,,99,%25E4%25BA%25A4%25E4%25BA%2592%25E8%25AE%25BE%25E8%25AE%25A1%25E5%25B8%2588,2,'
url2 = '.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=1&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='
next_url = url1 +str(i)+ url2
yield Request(next_url, headers=self.headers,callback=self.parse)
2.6抓取效果:在开始运行里输入里cmd,修改路径为C:\Users\hyperstrong\spiderjob_jiaohusheji 。然后输入scrapy crawl jobSpder -o jiaohusheji.csv3数据进行简单分析从excel表格里抽取2个特征:薪资和城市分析不同城市的交互设计岗位 平均薪资分析不同城市对于交互设计岗位需求,即在该城市是否容易找到工作说干就干,代码奉上:#!/usr/bin/python
# -*- coding: UTF-8 -*-
import pandas as pd
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
import sys
import csv
import string
def analyze_job_demand (filepath):
data = pd.read_csv(filepath)
num=len(data['workingplace'])
for i in range(0,num-1):
a=data['workingplace'].ix[i].decode('utf-8')
b=a[0:2].encode('utf-8')
wp.append(b)
bj=wp.count('北京')
sh=wp.count('上海')
gz=wp.count('广州')
sz=wp.count('深圳')
wh=wp.count('武汉')
cd=wp.count('成都')
cq=wp.count('重庆')
zz=wp.count('郑州')
nj=wp.count('南京')
sz1=wp.count('苏州')
hz=wp.count('杭州')
xa=wp.count('西安')
dl=wp.count('大连')
qd=wp.count('青岛')
cs=wp.count('长沙')
nc=wp.count('南昌')
hf=wp.count('合肥')
nb=wp.count('宁波')
km=wp.count('昆明')
last=num-bj-sh-gz-sz-wh-cd-cq-nj-sz1-hz-xa-cs-hf
print( u'武汉的交互设计相关岗位占全国的需求比例为:' + str(float(wh)/num*100)+'%')
print( u'苏州的交互设计相关岗位占全国的需求比例为:' + str(float(sz1)/num*100)+'%')
print( u'杭州的交互设计相关岗位占全国的需求比例为:' + str(float(hz)/num*100)+'%')
print( u'合肥的交互设计相关岗位占全国的需求比例为:' + str(float(hf)/num*100)+'%')
print( u'长沙的交互设计相关岗位占全国的需求比例为:' + str(float(cs)/num*100)+'%')
print( u'北京的交互设计相关岗位占全国的需求比例为:' + str(float(bj)/num*100)+'%')
print( u'上海的交互设计相关岗位占全国的需求比例为:' + str(float(sh)/num*100)+'%')
print( u'广州的交互设计相关岗位占全国的需求比例为:' + str(float(gz)/num*100)+'%')
print( u'深圳的交互设计相关岗位占全国的需求比例为:' + str(float(sz)/num*100)+'%')
print( u'重庆的交互设计相关岗位占全国的需求比例为:' + str(float(cq)/num*100)+'%')
print( u'成都的交互设计相关岗位占全国的需求比例为:' + str(float(cd)/num*100)+'%')
print( u'南京的交互设计相关岗位占全国的需求比例为:' + str(float(nj)/num*100)+'%')
print( u'西安的交互设计相关岗位占全国的需求比例为:' + str(float(xa)/num*100)+'%')
#调节图形大小,宽,高
plt.figure(figsize=(6,9))
#定义饼状图的标签,标签是列表
labels = ['shanghai','shenzhen','beijing','guangzhou','hangzhou','wuhan','chengdu','chongqing','nanjing','suzhou','xian','changsha','hefei','else']
sizes = [sh,sz,bj,gz,hz,wh,cd,cq,nj,sz1,xa,cs,hf,last]
colors = ['red','yellowgreen','lightskyblue','blue','pink','coral','orange']
#将某部分爆炸出来, 使用括号,将第一块分割出来,数值的大小是分割出来的与其他两块的间隙
explode = (0.05,0,0,0,0,0,0,0,0,0,0,0,0,0)
patches,l_text,p_text = plt.pie(sizes,explode=explode,labels=labels,colors=colors,
labeldistance = 1.1,autopct = '%3.1f%%',shadow = False,
startangle = 90,pctdistance = 0.6)
#labeldistance,文本的位置离远点有多远,1.1指1.1倍半径的位置
#autopct,圆里面的文本格式,%3.1f%%表示小数有三位,整数有一位的浮点数
#shadow,饼是否有阴影
#startangle,起始角度,0,表示从0开始逆时针转,为第一块。一般选择从90度开始比较好看
#pctdistance,百分比的text离圆心的距离
#patches, l_texts, p_texts,为了得到饼图的返回值,p_texts饼图内部文本的,l_texts饼图外label的文本
#改变文本的大小
#方法是把每一个text遍历。调用set_size方法设置它的属性
for t in l_text:
t.set_size=(30)
for t in p_text:
t.set_size=(40)
# 设置x,y轴刻度一致,这样饼图才能是圆的
plt.axis('equal')
#图形中的文字无法通过rcParams设置
plt.legend()
plt.show()
def analyze_salary(filepath):
data = pd.read_csv(filepath)
chengshi=[u'北京',u'上海',u'广州',u'深圳',u'武汉',u'成都',u'重庆',u'郑州',u'南京',u'苏州',u'杭州',u'西安',u'大连',u'青岛',u'长沙',u'南昌',u'合肥',u'宁波',u'昆明']
city_salary=[]
num=len(data['workingplace'])
for j in range(0,18):
city=chengshi[j]
for i in range(0,num-1):
a=data['workingplace'].ix[i].decode('utf-8')
if a.find(city)!=-1:
if data['salary'].ix[i] :
c=str(data['salary'].ix[i])
d=c.decode('utf-8')
if d.find(u'万/月')!=-1:
pattern=re.compile('\d+\.?\d*',re.S)
items = re.findall(pattern,c)
ave=(float(items[0])+float(items[1]))/2
sal=float(ave)*10
elif d.find(u'千/月')!=-1:
pattern=re.compile('\d+\.?\d*',re.S)
items = re.findall(pattern,c)
ave=(float(items[0])+float(items[1]))/2
sal=float(ave)*1
elif d.find(u'万/年')!=-1:
pattern=re.compile('\d+\.?\d*',re.S)
items = re.findall(pattern,c)
ave=(float(items[0])+float(items[1]))/2
sal=float(ave)*0.8333
salary.append(sal)
ave=sum(salary)/len(salary)
print( chengshi[j] +u'的交互设计相关岗位的平均工资为:' + str(ave) +u'千/月')
city_salary.append(ave)
with open('C:\Users\hyperstrong\spiderjob_jiaohusheji\salary.csv', 'wb') as f:
writer = csv.writer(f)
chengshi_encode=[]
for k in range(0,18):
chengshi_encode.append(chengshi[k].encode('utf-8'))
writer.writerow(chengshi_encode)
writer.writerow(city_salary)
if __name__ == '__main__':
filepath = input('Please enter the filename:')
analyze_salary(filepath)
analyze_job_demand (filepath)
运行程序,输入excel的路径:r'C:\Users\hyperstrong\spiderjob_jiaohusheji\jiaohusheji.csv'(注意路径前加 r,去掉转移字符)效果如下:不同城市的岗位需求量占全国总需求的比例,自动生产的饼图:保存的excel绘制出不同城市的该岗位的平均薪资的柱状图,如下:从以上几图可以看出:北京的交互设计平均工资最高杭州的交互设计需求和平均工资都已经是一线城市的水平,怪不得很多IT人才往杭州跑江浙沪的需求量占了半壁江山结束语弄了这么半天,从城市需求、平均工资方面我已经对这个岗位有了初步认识。如果我是一个即将毕业并想从事该工作的大学生,看到这些,应该会有些帮助。不过实际选择会更加困难,不同的城市竞争是不一样的,房贷压力、幸福指数、城市的行业分布、城市未来发展潜力都不不一样。于是我想到:如何从不同城市各个行业求职情况,来看出城市的幸福指数、发展潜力。找个时间研究下~~~///(^v^)\\\~~~2收藏分享举报{&debug&:false,&apiRoot&:&&,&paySDK&:&https:\u002F\\u002Fapi\u002Fjs&,&wechatConfigAPI&:&\u002Fapi\u002Fwechat\u002Fjssdkconfig&,&name&:&production&,&instance&:&column&,&tokens&:{&X-XSRF-TOKEN&:null,&X-UDID&:null,&Authorization&:&oauth c3cef7c66aa9e6a1e3160e20&}}{&database&:{&Post&:{&&:{&isPending&:false,&contributes&:[],&title&:&Python爬虫入门:如何爬取招聘网站并进行分析&,&author&:&xiao-xian-cai-82&,&content&:&\u003Ch2\u003E\u003Cb\u003E0 前言\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cp\u003E工作之余,时常会想能做点什么有意思的玩意。互联网时代,到处都是互联网思维,大数据、深度学习、人工智能,这些新词刮起一股旋风。所以笔者也赶赶潮流,买了本Python爬虫书籍研读起来。\u003C\u002Fp\u003E\u003Cp\u003E网络爬虫,顾名思义就是将互联网上的内容按照自己编订的规则抓取保存下来。理论上来讲,浏览器上只要眼睛能看到的网页内容都可以抓起保存下来,当然很多网站都有自己的反爬虫技术,不过反爬虫技术的存在只是增加网络爬虫的成本而已,所以爬取些有更有价值的内容,也就对得起技术得投入。\u003C\u002Fp\u003E\u003Ch2\u003E\u003Cb\u003E1案例选取\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cp\u003E人有1\u002F3的时间在工作,有一个开心的工作,那么1\u002F3的时间都会很开心。所以我选取招聘网站来作为我第一个学习的案例。\u003C\u002Fp\u003E\u003Cp\u003E前段时间和一个老同学聊天,发现他是在从事交互设计(我一点也不了解这是什么样的岗位),于是乎,我就想爬取下前程无忧网(\u003Ca href=\&http:\u002F\\u002F?target=http%3A\u002F\\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E招聘网_人才网_找工作_求职_上前程无忧\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E)上的交互设计的岗位需求:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-aed0b8a5f5eac_b.jpg\& data-rawwidth=\&740\& data-rawheight=\&644\& class=\&origin_image zh-lightbox-thumb\& width=\&740\& data-original=\&https:\u002F\\u002Fv2-aed0b8a5f5eac_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='740'%20height='644'&&\u002Fsvg&\& data-rawwidth=\&740\& data-rawheight=\&644\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&740\& data-original=\&https:\u002F\\u002Fv2-aed0b8a5f5eac_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-aed0b8a5f5eac_b.jpg\&\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Ch2\u003E\u003Cb\u003E2实现过程\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cp\u003E我这里使用scrapy框架来进行爬取。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2.1程序结构\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003EC:\\Users\\hyperstrong\\spiderjob_jiaohusheji\n
│scrapy.cfg\n
└─spiderjob\n
items.py\n
pipelines.py\n
settings.py\n
__init__.py\n
middlewares.py
├─spiders\n
jobSpider.py\n
__init__.py\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E其中:\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003Eitems.py是从网页抽取的项目\u003C\u002Fli\u003E\u003Cli\u003EjobSpider.py是主程序\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2.2链接的构造\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E用浏览器打开前程无忧网站 \u003Ca href=\&http:\u002F\\u002F?target=http%3A\u002F\\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E招聘网_人才网_找工作_求职_上前程无忧\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E,在职务搜索里输入“交互设计师”,搜索出页面后,观察网址链接:\u003C\u002Fp\u003E\u003Cp\u003E\u003Ca href=\&http:\u002F\\u002F?target=http%3A\u002F\\u002Fjobsearch\u002Fsearch_result.php%3FfromJs%3D1%26keyword%3D%25E4%25BA%25A4%25E4%25BA%%25AE%25BE%25E8%25AE%25A1%25E5%25B8%2588%26keywordtype%3D2%26lang%3Dc%26stype%3D2%26postchannel%3D0000%26fromType%3D1%26confirmdate%3D9\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E【交互设计师招聘】前程无忧手机网_触屏版\u003Ci class=\&icon-external\&\u003E\u003C\u002Fi\u003E\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-html\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003Ehttp:\u002F\\u002Fjobsearch\u002Fsearch_result.php?fromJs=1\u003Cspan class=\&err\&\u003E&\u003C\u002Fspan\u003Ekeyword=%E4%BA%A4%E4%BA%92%E8%AE%BE%E8%AE%A1%E5%B8%88\u003Cspan class=\&err\&\u003E&\u003C\u002Fspan\u003Ekeywordtype=2\u003Cspan class=\&err\&\u003E&\u003C\u002Fspan\u003Elang=c\u003Cspan class=\&err\&\u003E&\u003C\u002Fspan\u003Estype=2\u003Cspan class=\&err\&\u003E&\u003C\u002Fspan\u003Epostchannel=Cspan class=\&err\&\u003E&\u003C\u002Fspan\u003EfromType=1\u003Cspan class=\&err\&\u003E&\u003C\u002Fspan\u003Econfirmdate=9\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E网址链接中并没有页码,于是选择第二页,观察链接:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-37d4b76c83efea947e6185_b.jpg\& data-rawwidth=\&654\& data-rawheight=\&115\& class=\&origin_image zh-lightbox-thumb\& width=\&654\& data-original=\&https:\u002F\\u002Fv2-37d4b76c83efea947e6185_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='654'%20height='115'&&\u002Fsvg&\& data-rawwidth=\&654\& data-rawheight=\&115\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&654\& data-original=\&https:\u002F\\u002Fv2-37d4b76c83efea947e6185_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-37d4b76c83efea947e6185_b.jpg\&\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-6ffb2fbdf716b8d18fa6_b.jpg\& data-rawwidth=\&780\& data-rawheight=\&170\& class=\&origin_image zh-lightbox-thumb\& width=\&780\& data-original=\&https:\u002F\\u002Fv2-6ffb2fbdf716b8d18fa6_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='780'%20height='170'&&\u002Fsvg&\& data-rawwidth=\&780\& data-rawheight=\&170\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&780\& data-original=\&https:\u002F\\u002Fv2-6ffb2fbdf716b8d18fa6_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-6ffb2fbdf716b8d18fa6_b.jpg\&\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E红色标记的为页码,于是可以通过更改此处数字来实现从“第1页”到第44页“的网页自动跳转。当然读者也可以通过网页内容抓取处下一页的链接进行自动翻页,有兴趣的网友可以试下:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-11c64afc0c4db50a3ee20b_b.jpg\& data-rawwidth=\&1086\& data-rawheight=\&129\& class=\&origin_image zh-lightbox-thumb\& width=\&1086\& data-original=\&https:\u002F\\u002Fv2-11c64afc0c4db50a3ee20b_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1086'%20height='129'&&\u002Fsvg&\& data-rawwidth=\&1086\& data-rawheight=\&129\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1086\& data-original=\&https:\u002F\\u002Fv2-11c64afc0c4db50a3ee20b_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-11c64afc0c4db50a3ee20b_b.jpg\&\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2.3网页分析\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E我要抓取的几个数据分别是\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E职位名\u003C\u002Fli\u003E\u003Cli\u003E公司名\u003C\u002Fli\u003E\u003Cli\u003E工作地点\u003C\u002Fli\u003E\u003Cli\u003E薪资\u003C\u002Fli\u003E\u003Cli\u003E发布时间\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E截图如下,右侧是浏览器-开发者工具(F12)里查找的源代码,和网页对应查看:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-56de09c760a1b267fbb4b5_b.jpg\& data-rawwidth=\&1342\& data-rawheight=\&380\& class=\&origin_image zh-lightbox-thumb\& width=\&1342\& data-original=\&https:\u002F\\u002Fv2-56de09c760a1b267fbb4b5_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1342'%20height='380'&&\u002Fsvg&\& data-rawwidth=\&1342\& data-rawheight=\&380\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1342\& data-original=\&https:\u002F\\u002Fv2-56de09c760a1b267fbb4b5_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-56de09c760a1b267fbb4b5_b.jpg\&\u003E\u003Cp\u003E\u003Cb\u003E2.4数据字段:items.py\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&c1\&\u003E# -*- coding: utf-8 -*-\u003C\u002Fspan\u003E\n\n\u003Cspan class=\&c1\&\u003E# Define here the models for your scraped items\u003C\u002Fspan\u003E\n\u003Cspan class=\&c1\&\u003E# See documentation in:\u003C\u002Fspan\u003E\n\u003Cspan class=\&c1\&\u003E# http:\u002F\u002Fdoc.scrapy.org\u002Fen\u002Flatest\u002Ftopics\u002Fitems.html\u003C\u002Fspan\u003E\n\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Escrapy\u003C\u002Fspan\u003E\n\u003Cspan class=\&k\&\u003Eclass\u003C\u002Fspan\u003E \u003Cspan class=\&nc\&\u003ESpiderjobItem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Escrapy\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EItem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n
\u003Cspan class=\&c1\&\u003E# define the fields for your item here like:\u003C\u002Fspan\u003E\n
\u003Cspan class=\&c1\&\u003E# name = scrapy.Field()\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ejobname\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Escrapy\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EField\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ecompanyname\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Escrapy\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EField\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eworkingplace\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Escrapy\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EField\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Esalary\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Escrapy\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EField\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eposttime\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Escrapy\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003EField\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E2.5主要运行程序\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E我是用的python2.7编写的,并且使用XPath表达式进行数据的筛选和提取。\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&c1\&\u003E# -*- coding: utf-8 -*-\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Efrom\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Escrapy\u003C\u002Fspan\u003E \u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ERequest\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Efrom\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Escrapy.spiders\u003C\u002Fspan\u003E \u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ESpider\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Efrom\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Espiderjob.items\u003C\u002Fspan\u003E \u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ESpiderjobItem\u003C\u002Fspan\u003E\n\n\n\u003Cspan class=\&k\&\u003Eclass\u003C\u002Fspan\u003E \u003Cspan class=\&nc\&\u003EjobSpider\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003ESpider\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ename\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003E'jobSpider'\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eheaders\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E{\u003C\u002Fspan\u003E
\u003Cspan class=\&s1\&\u003E'User-Agent'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003E'Mozilla\u002F5.0 (Windows NT 10.0; WOW64) AppleWebKit\u002F537.36 (KHTML, like Gecko) Chrome\u002F49.0.2623.75 Safari\u002F537.36 LBBROWSER'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'Accept'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'text\u002Fcss,*\u002F*;q=0.1'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'Accept-Encoding'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'gzip, deflate, sdch'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'Accept-Language'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'zh-CN,q=0.8'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'Referer'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'close'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'Host'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E''\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E};\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Edef\u003C\u002Fspan\u003E \u003Cspan class=\&nf\&\u003Estart_requests\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eurl1\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003E'http:\u002F\\u002Flist\u002F000,,99,\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E4%25BA%25A4\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E4%25BA\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%2592%\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E25E8%25AE%25BE\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E8%25AE%25A1\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E5%25B8%2588,2,'\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eurl2\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003E'.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=1&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eurl\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eurl1\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'1'\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eurl2\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eyield\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ERequest\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eurl\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eheaders\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eheaders\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n\n
\u003Cspan class=\&k\&\u003Edef\u003C\u002Fspan\u003E \u003Cspan class=\&nf\&\u003Eparse\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eresponse\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eitem\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ESpiderjobItem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ejobs\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eresponse\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Expath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'\u002F\u002Fdiv[@class=\&dw_table\&]\u002Fdiv[@class=\&el\&]'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Efor\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ejob\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Ein\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ejobs\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eitem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'companyname'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ejob\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Expath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'.\u002F\u002Fspan[@class=\&t2\&]\u002Fa[@target=\&_blank\&]\u002Ftext()'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eextract\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()[\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eitem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'workingplace'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ejob\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Expath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'.\u002F\u002Fspan[@class=\&t3\&]\u002Ftext()'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eextract\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()[\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eitem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'salary'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ejob\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Expath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'.\u002F\u002Fspan[@class=\&t4\&]\u002Ftext()'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eextract\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()\u003C\u002Fspan\u003E\n\n
\u003Cspan class=\&n\&\u003Eitem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'posttime'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ejob\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Expath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'.\u002F\u002Fspan[@class=\&t5\&]\u002Ftext()'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eextract\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()[\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eitem\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'jobname'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ejob\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Expath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\n
\u003Cspan class=\&s1\&\u003E'.\u002F\u002Fp[@class=\&t1 \&]\u002Fspan\u002Fa[@target=\&_blank\&]\u002Ftext()'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eextract\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E()[\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eyield\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eitem\u003C\u002Fspan\u003E\n\n
\u003Cspan class=\&k\&\u003Efor\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ei\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Ein\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Erange\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E2\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E44\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eurl1\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003E'http:\u002F\\u002Flist\u002F000,,99,\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E4%25BA%25A4\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E4%25BA\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%2592%\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E25E8%25AE%25BE\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E8%25AE%25A1\u003C\u002Fspan\u003E\u003Cspan class=\&si\&\u003E%25E\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E5%25B8%2588,2,'\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eurl2\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003E'.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=1&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Enext_url\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eurl1\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ei\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eurl2\u003C\u002Fspan\u003E\n\n
\u003Cspan class=\&k\&\u003Eyield\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003ERequest\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enext_url\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Eheaders\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eheaders\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecallback\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&bp\&\u003Eself\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eparse\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E2.6\u003Cb\u003E抓取效果:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E在开始运行里输入里cmd,修改路径为C:\\Users\\hyperstrong\\spiderjob_jiaohusheji 。然后输入scrapy crawl jobSpder -o jiaohusheji.csv\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-d2b0c6a6d1ead437ed090798eabb19a8_b.jpg\& data-rawwidth=\&1356\& data-rawheight=\&707\& class=\&origin_image zh-lightbox-thumb\& width=\&1356\& data-original=\&https:\u002F\\u002Fv2-d2b0c6a6d1ead437ed090798eabb19a8_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1356'%20height='707'&&\u002Fsvg&\& data-rawwidth=\&1356\& data-rawheight=\&707\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1356\& data-original=\&https:\u002F\\u002Fv2-d2b0c6a6d1ead437ed090798eabb19a8_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-d2b0c6a6d1ead437ed090798eabb19a8_b.jpg\&\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\\u002Fv2-a9e38f5ffa44c810b234fd_b.jpg\& data-rawwidth=\&686\& data-rawheight=\&589\& class=\&origin_image zh-lightbox-thumb\& width=\&686\& data-original=\&https:\u002F\\u002Fv2-a9e38f5ffa44c810b234fd_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='686'%20height='589'&&\u002Fsvg&\& data-rawwidth=\&686\& data-rawheight=\&589\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&686\& data-original=\&https:\u002F\\u002Fv2-a9e38f5ffa44c810b234fd_r.jpg\& data-actualsrc=\&https:\u002F\\u002Fv2-a9e38f5ffa44c810b234fd_b.jpg\&\u003E\u003Ch2\u003E\u003Cb\u003E3数据进行简单分析\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cul\u003E\u003Cli\u003E\u003Cb\u003E从excel表格里抽取2个特征:薪资和城市\u003C\u002Fb\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cb\u003E分析不同城市的交互设计岗位 平均薪资\u003C\u002Fb\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cb\u003E分析不同城市对于交互设计岗位需求,即在该城市是否容易找到工作\u003C\u002Fb\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cb\u003E说干就干,代码奉上:\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-python\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E\u003Cspan class=\&ch\&\u003E#!\u002Fusr\u002Fbin\u002Fpython\u003C\u002Fspan\u003E\n\u003Cspan class=\&c1\&\u003E# -*- coding: UTF-8 -*-\u003C\u002Fspan\u003E\n\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Epandas\u003C\u002Fspan\u003E \u003Cspan class=\&kn\&\u003Eas\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Epd\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Enumpy\u003C\u002Fspan\u003E \u003Cspan class=\&kn\&\u003Eas\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Enp\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Efrom\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Edatetime\u003C\u002Fspan\u003E \u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Edatetime\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Ematplotlib.pyplot\u003C\u002Fspan\u003E \u003Cspan class=\&kn\&\u003Eas\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Eplt\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Esys\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Ere\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Ecsv\u003C\u002Fspan\u003E\n\u003Cspan class=\&kn\&\u003Eimport\u003C\u002Fspan\u003E \u003Cspan class=\&nn\&\u003Estring\u003C\u002Fspan\u003E\n\n\n\u003Cspan class=\&k\&\u003Edef\u003C\u002Fspan\u003E \u003Cspan class=\&nf\&\u003Eanalyze_job_demand\u003C\u002Fspan\u003E \u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Efilepath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Edata\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Epd\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eread_csv\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Efilepath\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[]\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Elen\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Edata\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'workingplace'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E])\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Efor\u003C\u002Fspan\u003E \u003Cspan class=\&n\&\u003Ei\u003C\u002Fspan\u003E \u003Cspan class=\&ow\&\u003Ein\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Erange\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E,\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E):\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ea\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Edata\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'workingplace'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eix\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ei\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Edecode\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'utf-8'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eb\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ea\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E[\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E0\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E:\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E2\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E]\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eencode\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'utf-8'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eappend\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Eb\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ebj\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'北京'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Esh\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'上海'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Egz\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'广州'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Esz\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'深圳'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ewh\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'武汉'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ecd\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'成都'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ecq\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'重庆'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ezz\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'郑州'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Enj\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'南京'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Esz1\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'苏州'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ehz\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'杭州'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Exa\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'西安'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Edl\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'大连'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Eqd\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'青岛'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ecs\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'长沙'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Enc\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'南昌'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ehf\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'合肥'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Enb\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'宁波'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Ekm\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewp\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E.\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecount\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'昆明'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&n\&\u003Elast\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E=\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ebj\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Esh\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Egz\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Esz\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewh\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecd\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecq\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enj\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Esz1\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ehz\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Exa\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecs\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E-\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ehf\u003C\u002Fspan\u003E\n\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'武汉的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ewh\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'苏州的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Esz1\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'杭州的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ehz\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'合肥的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ehf\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'长沙的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ecs\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'北京的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Ebj\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'上海的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Esh\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'广州的交互设计相关岗位占全国的需求比例为:'\u003C\u002Fspan\u003E \u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E \u003Cspan class=\&nb\&\u003Estr\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&nb\&\u003Efloat\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Egz\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&n\&\u003Enum\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E*\u003C\u002Fspan\u003E\u003Cspan class=\&mi\&\u003E100\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\u003Cspan class=\&o\&\u003E+\u003C\u002Fspan\u003E\u003Cspan class=\&s1\&\u003E'%'\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E)\u003C\u002Fspan\u003E\n
\u003Cspan class=\&k\&\u003Eprint\u003C\u002Fspan\u003E\u003Cspan class=\&p\&\u003E(\u003C\u002Fspan\u003E \u003Cspan class=\&s1\&\u003Eu'深圳的交互设计相关岗位占全国的需求比例为:&#

我要回帖

更多关于 python https网站爬虫 的文章

 

随机推荐