1.网页分析
爬虫嘛,最主要还是先分析分析网页。
首先,用谷歌浏览器打开“实习僧网站”,输入“数据挖掘”搜索,然后检查以下内容:
网页的加载方式:发现是纯静态加载的,说明数据就在html文件里;
如何翻页:通过观察发现网站是通过URL的参数“k”控制职位关键字,参数“p”控制页码,所以“数据挖掘”职位第一页的请求URL是“https://www.shixiseng.com/interns?k=数据挖掘&p=1”,“数据挖掘”职位第二页的请求URL是“https://www.shixiseng.com/interns?k=数据挖掘&p=2”,以此类推;
请求方法:GET
是否需要验证头信息:不晓得,需要代码测试
2.代码测试
那就来测试一下。
首先在实习僧中搜索“数据挖掘”,并打开IPython,把requests库导入进来。
import requests
第一页长这样:
尝试请求一下第一页, 把状态码打出来看看。
response = requests.get(“https://www.shixiseng.com/interns?k=数据挖掘&p=1”)print(response.status_code)
状态码是200,喜出望外,心想这网站也太好爬了吧,竟然连头信息都不需要验证。有点不敢相信,想再瞅一眼文本内容。
print(response.text[:100])
确实返回了真实的文本,这就好办了,尝试解析一下,提取出所有的职位名称,这里使用的是xpath选择器。
from lxml import etreeparsed_text = etree.HTML(response.text)parsed_text.xpath(‘//*[@class="name-box clearfix"]/a/text()’)
成功返回一个列表的数据,大功告。。。wait