案例:使用BeautifuSoup4的爬虫
我们以网易社招页面来做演示:
使用BeautifuSoup4解析器,将招聘网页上的职位名称、职位类别、招聘人数、工作地点、发布时间,以及每个职位详情的点击链接存储出来。
import json
import requests
from bs4 import BeautifulSoup
class WangYiSpider(object):
def __init__(self):
self.base_url = "https://hr.163.com/position/list.do?positionName=¤tPage="
self.page = 1
# 初始化一个字典列表,保存职位信息
self.item_list = []
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}
def send_request(self, full_url):
response = requests.get(full_url, headers=self.headers)
return response
def parse_response(self, response):
html = response.content.decode("utf-8")
soup = BeautifulSoup(html, "lxml")
node_list = soup.find_all("tr", attrs={
"id":""})
node_list.pop(0)
for node in node_list:
item = {
}
# 遍历css选择器列表
for name in node.select("td a"):
# 从a标签获取职位内容, 保存到字典中
item["position_name"] = name.get_text()
# 部门
item["bumen"] = node.<