Scrapy爬虫实战:百度搜索找到自己
这里我们演示从百度找到我自己来让大家理解了解爬虫的魅力。
背景
有啥不懂的问度娘,百度搜索引擎可以搜到我们想要的内容,这里我们可以尝试爬取百度搜索引擎搜出来的东西,然后找到我们想要的内容。
例如:我们可以这样来搜索 https://www.baidu.com/s?wd=灵动的艺术
当然,因为我的博客是新开的,第一个自然不是我,并且能排名第一的必然也是要花钱的,大家懂的。
并且不但第一个不是我,可能第一页也可能都找不到我。我们需要不断过滤更多页才能找到我自己
分析
怎么才算找到了自己
这里我演示找到我自己的博客就算是找到了我自己,判定方法有多种,比如找到了标题为【灵动的艺术的博客】新开始,新旅程 - CSDN博客
就可以算是找到了我,或者百度连接为 http://www.baidu.com/link?url=9MdeR3DMon9bNvI8_loZk8MWb2s8zApEZx43oiOQgcsKAiSF3mvOD98YE811awwwm6NXYm8w7bVwfCF-a5VDerAiCmJyM1qFM9u5YrVraIO 这个,也算是找到了我自己。
这里我们以标题为例:
怎么才能拿到百度搜索标题
如下图,我们利用浏览器的检查功能,利用选择工具,选中标题,我们就可以看到当前页面的内容
这里我们可以知道我们的标题内容在'//div[@class="result c-container "]/h3/a'
标签里面,那么我们需要获取这类标签的内容。
怎么爬取更多页面
同样的,如果我们希望爬取更多页面,我们需要拿到更页面的连接,并且继续访问它们。
同理:
那么我们可以知道//div[@id="page"]/strong/span[@class="pc"]/text()
标签可以拿到当前页。//div[@id="page"]/a/@href
可以拿到更多页面的跳转连接。
baidu_search.py
这里我们修改之前的baidu_search.py
# -*- coding: utf-8 -*-
import scrapy
from tutorial.items import BaiDuSearchItem
class BaiduSearchSpider(scrapy.Spider):
name = 'baidu_search'
allowed_domains = ['www.baidu.com']
start_urls = ['http://www.baidu.com/s?wd=灵动的艺术']
def parse(self, response):
# 拿到当前页码
current_page = int(response