小项目-数据爬取篇:scrapy框架,手机网页,工作信息存入MongoDB,代理ip中间件

本文介绍了如何使用scrapy框架爬取移动端网页,通过火狐浏览器的user-agent切换插件模拟手机访问。内容包括安装scrapy、创建项目、设置中间件更换user-agent和代理ip,以及解析网页数据存储到MongoDB。通过分析网页结构,提取工作链接,并实现翻页功能,最后展示了如何处理item和编写中间件、管道文件来确保爬虫的稳定运行。
摘要由CSDN通过智能技术生成

准备工作

首先安装scrapy框架:

pip install scrapy

还要用到mongodb,mongodb安装百度一下,网上很多。

pip install pymongo

这回我们要分析移动端的网页,需要使用使用火狐浏览器上的一个插件更改user-agent来模仿手机访问网页。
首先下载安装火狐浏览器;
然后,进入附加组件:
这里写图片描述
在扩展里搜索user agent switcher,第一个安装,使用即可
这里写图片描述
这样在访问网页的时候就可以自由更换user-agent
这里写图片描述
我们换到moblie的user agent,然后在通过百度搜索智联招聘,访问试试:
这里写图片描述
这样就成了手机版的网页了,妥妥的。
你可能好奇为啥非要搞移动端的呢,其实各大网站的移动端和pc端的反爬虫机制不同,往往移动端的更加好爬一些,而且学会了移动端访问,也为你写爬虫多了一种选择。

创建项目

打开power shell,cd 到你要创建项目文件夹,输入scrapy startproject zhilian_scrapy(你的项目名)
本人用的windows,很是不喜欢用power shell 打开文件cd来cd去的,如果你装了git可以在想要创建项目处,右键打开git bash 然后scrapy startproject 是一样的。
然后创建个叫zhilian的爬虫

scrapy genspider zhilian "https://m.zhaopin.com/beijing/"

这样项目就创建好了,用pycharm打开项目,是这样的:
这里写图片描述
大家会发现,我多了一个usa_phone.py 文件,这里是我网上找的,手机的user agent,写中间件时要用:

USA = [
    "HTC_Dream Mozilla/5.0 (Linux; U; Android 1.5; en-ca; Build/CUPCAKE) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1",
    "Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.2; U; de-DE) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.40.1 Safari/534.6 TouchPad/1.0",
    "Mozilla/5.0 (Linux; U; Android 1.5; en-us; sdk Build/CUPCAKE) AppleWebkit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1",
    "Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17",
    "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
    "Mozilla/5.0 (Linux; U; Android 1.5; en-us; htc_bahamas Build/CRB17) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1",
    "Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HTC Desire 1.19.161.5 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17",
    "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Sprint APA9292KT Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
    "Mozilla/5.0 (Linux; U; Android 1.5; de-ch; HTC Hero Build/CUPCAKE) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1",
    "Mozilla/5.0 (Linux; U; Android 2.2; en-us; ADR6300 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
    "Mozilla/5.0 (Linux; U; Android 2.1; en-us; HTC Legend Build/cupcake) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17",
    "Mozilla/5.0 (Linux; U; Android 1.5; de-de; HTC Magic Build/PLAT-RC33) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 FirePHP/0.3",
    "Mozilla/5.0 (Linux; U; Android 1.6; en-us; HTC_TATTOO_A3288 Build/DRC79) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1",
    "Mozilla/5.0 (Linux; U; Android 1.0; en-us; dream) AppleWebKit/525.10  (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2",
    "Mozilla/5.0 (Linux; U; Android 1.5; en-us; T-Mobile G1 Build/CRB43) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari 525.20.1",
    "Mozilla/5.0 (Linux; U; Android 1.5; en-gb; T-Mobile_G2_Touch Build/CUPCAKE) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1",
    "Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17",
    "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Droid Build/FRG22D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值