今天心血来潮去爬取了一下招聘网站的实时招聘信息。网址是http://xiaoyuan.zhaopin.com
选的条件是北京,实习生,计算机软件。分析代码之后发现还是很容易的,不过过程中出了不少小问题,在这里分享一下。
想要爬取的是类似的表单内容。是在ul的li里。
用BeautifulSoup解析之后,tem_ul = bsoj.find("ul",{"class":"terminal-ul clearfix"})存下整个ul元素。
对于从tem_ul中提取出所有li元素,lis = str(tem_ul("li")),返回lis是列表类型。
lisoup = BeautifulSoup(lis,'lxml')将lis继续进行解析。分析代码发现冒号前的是在li.span里,而冒号后的是在li.strong里,而且互相混杂,比如strong里有span等。
分析出数据错乱的问题所在,使用del list[i]删除第i+1个元素。
spans = lisoup.find_all("span")
del spans[3]
strongs = lisoup.find_all("strong")
d = zip(spans,strongs)
d = dict(d)
for item1,item2 in d.items():
fp.write(item1.get_text())
fp.write(item2.get_text()+"\n")
如上,将span和st