scrapy抓取实习僧网站数据

目标,实习僧网站搜索“产品运营”下所有职位信息,采集信息在二级页面。

一级页面

scrapy抓取实习僧网站数据_第1张图片
image.png

抓取信息:


scrapy抓取实习僧网站数据_第2张图片
[图片上传中...(image.png-74e551-1517296486890-0)]

scrapy抓取实习僧网站数据_第3张图片
image.png

按常规方法抓取,构造url,一共78页。

https://www.shixiseng.com/interns?k=%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5&p=1
https://www.shixiseng.com/interns?k=%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5&p=2
https://www.shixiseng.com/interns?k=%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5&p=3
https://www.shixiseng.com/interns?k=%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5&p=4
...
...
https://www.shixiseng.com/interns?k=%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5&p=78

静态页面,抓每页职位信息组成每条职位URL。


scrapy抓取实习僧网站数据_第4张图片
image.png

示例:“https://www.shixiseng.com”+“/intern/inn_ediaz4ur6zsn”

二级页面

静态页面,通过xpath、css、正则都可以。如果是AJAX则发请求获取即可。
一切都这么顺利......吗
详情页源码:


scrapy抓取实习僧网站数据_第5张图片
WTF!!.png

发现这个页面上工资信息,工作天数,实习时长...即所有的数字信息都变成了以&#x开头的东西,这是乱码吗?是加密了吗?
不是!它们类似乱码,却不是乱码。把它保存成html文件,浏览器是可以正常显示的~ 是一组的一串字符是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)


不过多解释,详情看

  • 知乎上对其解释
  • Character entity references in HTML 4
  • Character entity references in HTML5

所以用常规的方法是抓不到这些信息的,这也是实习僧网站的一种信息保护机制。
单丝!!!,我这么聪明又机智,模拟出了0-9的对应&#x存入字典。

    d['e012'] = 0
    d['e791'] = 1
    ...
    ...
    d['f8a3'] = 9

有了上述神器,就可以愉快的采集信息了。
采集效果展示:


scrapy抓取实习僧网站数据_第6张图片
image.png

好好分析网页,是可以很轻松获取信息的,总之思路很重要!

你可能感兴趣的:(scrapy抓取实习僧网站数据)