scrapy抓取实习僧网站数据

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

一级页面

image.png

抓取信息:


[图片上传中...(image.png-74e551-1517296486890-0)]

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。


image.png

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

二级页面

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


WTF!!.png

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


不过多解释,详情看

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

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

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


image.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。