初识爬虫 - scrapy 爬取 51 (一)

本文介绍了使用Scrapy框架抓取51job网站Python职位信息的过程,包括设置user-agent避免反爬策略,利用xpath解析网页,获取目标节点并实例化Item,以及如何实现翻页爬取。后续文章将分享如何保存数据和项目打包。
摘要由CSDN通过智能技术生成

刚学会了建 scrapy 框架,当然就忍不住想去练练手了,就挑个 51 job 去了解一下职位需求情况。

前面我们已经说了如何去创建一个 scrapy 框架,以及改一下 setting 配置文件,这里我们还要先再改一下 setting 文件:

改这里是因为现在很多网站都设置了反爬虫的保护机制,如果我们不加自己设的 user-agent ,就很容易被 “ban” ,从而爬取不到我们所要的数据,当然这只是防反爬虫的一种机制,大多数情况下都是可以的。下面是加的两行代码:

'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,  # 这一行是取消框架自带的useragent
'positionspiders.rotateuseragent.RotateUserAgentMiddleware': 400    #使用自己新置的 useragent 代理 ,第一个表示我们的工程名称,第二个是我们要新建的配置 user-agent 池的文件

那么下面先说下配置 useragent 池的文件 rotateuseragent (文件名字自己起):

import random
# 导入useragent用户代理模块中的UserAgentMiddleware类
from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware

# RotateUserAgentMiddleware类,继承 UserAgentMiddleware 父类
# 作用:创建动态代理列表,随机选取列表中的用户代理头部信息,伪装请求。
#       绑定爬虫程序的每一次请求,一并发送到访问网址。

# 发爬虫技术:由于很多网站设置反爬虫技术,禁止爬虫程序直接访问网页,
#             因此需要创建动态代理,将爬虫程序模拟伪装成浏览器进行网页访问。
class RotateUserAgentMiddleware(UserAgentMiddleware):
    # the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape
    # for more user agent strings,you can find it in http://www.useragentstring.com/pages/useragentstring.php
    # 编写头部请求代理列表
    user_agent_list = [ \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1" \
        "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", \
        "Mozilla/5.0 (Windows NT 6.2) AppleW
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值