今天我们使用python来爬取考研网站的信息。
目标网站:
https://yz.chsi.com.cn/zsml/queryAction.do
使用的库:
requests,bs4,pandas
这些库统一可以使用pip进行统一安装
代码语言:javascript复制pip install requestspip install bs4pip install pandas安装完之后我们便可以进行信息的爬取了
首先,我们去考研网上查看一下网站的头部信息:
使用开发者模式,在请求里面找到请求头部的信息。
我们需要把user-agent提取出来:
代码语言:javascript复制"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKi" "t/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"首先我们需要获取三个字段的接口数据,分别是:省份,学科,专业编号
代码语言:javascript复制http://yz.chsi.com.cn/zsml/pages/getSs.jsp代码语言:javascript复制http://yz.chsi.com.cn/zsml/pages/getMl.jsp代码语言:javascript复制http://yz.chsi.com.cn/zsml/pages/getZy.jsp下面我们来获取一个学校的网址:
代码语言:javascript复制url = "http://yz.chsi.com.cn/zsml/queryAction.do"data = {"ssdm": self.province,"yjxkdm": self.category,}response = requests.post(url, data=data, headers=self.head)html = response.textreg = re.compile(r'(.*? )', re.S)content = re.findall(reg, html)schools_url = re.findall('.*?', str(content))我们使用正则表达式获取tr标签里面的内容
对于获取的内容,我们统一只获取a标签中的超