学习python爬虫有一段时间了,今天先拿猎聘网的上海公司数据练练手,并做一点数据分析,分享给大家。
一、数据获取
1、爬虫思路
①首先找到上海公司列表页面 https://www.liepin.com/company/020-000/。
②由于该页面最多显示100页,所以要分行业爬取,分行业没有超过100页的了。
③获取各行业页面的网址。
④对每一个行业页面进行翻页,这样就已经得到上海公司的所有页面。
⑤再从这些页面中获取所有公司详情页的网址。
⑥对详情页进行解析获取到各公司的详细数据。
2、scrapy爬虫
4个函数分别对应后四个步骤,这里用到User-Agent随机切换,没用代理,共11548条数据用时35分钟左右
Spider模块代码如下(其他模块基本没用):
# -*- coding: utf-8 -*-
import scrapy
import requests
from bs4 import BeautifulSoup
from lxml import etree
import re
import random
import time
from LiePinWang.items import LiepinwangItem
import json
hds=[{'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'},\
{'User-Agent':'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11'},\
{'User-Agent':'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'},\
{'User-Agent':'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0'},\
{'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36'},\
{'User-Agent':'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'},\
{'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'},\
{'User-Agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT