18、 Python快速开发分布式搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式

简介: 【百度云搜索:http://www.bdyss.cn】 【搜网盘:http://www.swpan.cn】 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/env python # -*- coding:utf8 -*- from scrapy.

http://www.bdyss.cn

http://www.swpan.cn

我们自定义一个main.py来作为启动文件

main.py

#!/usr/bin/env python
# -*- coding:utf8 -*-

from scrapy.cmdline import execute  #导入执行scrapy命令方法
import sys
import os

sys.path.append(os.path.join(os.getcwd())) #给Python解释器,添加模块新路径 ,将main.py文件所在目录添加到Python解释器

execute(['scrapy', 'crawl', 'pach', '--nolog'])  #执行scrapy命令

爬虫文件

# -*- coding: utf-8 -*-
import scrapy
from scrapy.http import Request
import urllib.response
from lxml import etree
import re

class PachSpider(scrapy.Spider):
    name = 'pach'
    allowed_domains = ['blog.jobbole.com']
    start_urls = ['http://blog.jobbole.com/all-posts/']

    def parse(self, response):
        pass

xpath表达式

1、

image

2、

image

3、

image

基本使用

allowed_domains设置爬虫起始域名
start_urls设置爬虫起始url地址
parse(response)默认爬虫回调函数,response返回的是爬虫获取到的html信息对象,里面封装了一些关于htnl信息的方法和属性

responsehtml信息对象下的方法和属性
response.url获取抓取的rul
response.body获取网页内容
response.body_as_unicode()获取网站内容unicode编码
xpath()方法,用xpath表达式过滤节点
extract()方法,获取过滤后的数据,返回列表

# -*- coding: utf-8 -*-
import scrapy

class PachSpider(scrapy.Spider):
    name = 'pach'
    allowed_domains = ['blog.jobbole.com']
    start_urls = ['http://blog.jobbole.com/all-posts/']

    def parse(self, response):
        leir = response.xpath('//a[@class="archive-title"]/text()').extract()  #获取指定标题
        leir2 = response.xpath('//a[@class="archive-title"]/@href ').extract() #获取指定url

        print(response.url)    #获取抓取的rul
        print(response.body)   #获取网页内容
        print(response.body_as_unicode())  #获取网站内容unicode编码

        for i in leir:
            print(i)
        for i in leir2:
            print(i)

 image
【转载自:http://www.lqkweb.com

相关文章
|
3月前
|
数据采集 存储 数据处理
Scrapy:Python网络爬虫框架的利器
在当今信息时代,网络数据已成为企业和个人获取信息的重要途径。而Python网络爬虫框架Scrapy则成为了网络爬虫工程师的必备工具。本文将介绍Scrapy的概念与实践,以及其在数据采集和处理过程中的应用。
23 1
|
4月前
|
数据采集 搜索推荐 数据管理
基于Python爬虫的垂直搜索引擎设计与实现
基于Python爬虫的垂直搜索引擎设计与实现
|
2天前
|
数据采集 存储 JSON
Python爬虫面试:requests、BeautifulSoup与Scrapy详解
【4月更文挑战第19天】本文聚焦于Python爬虫面试中的核心库——requests、BeautifulSoup和Scrapy。讲解了它们的常见问题、易错点及应对策略。对于requests,强调了异常处理、代理设置和请求重试;BeautifulSoup部分提到选择器使用、动态内容处理和解析效率优化;而Scrapy则关注项目架构、数据存储和分布式爬虫。通过实例代码,帮助读者深化理解并提升面试表现。
11 0
|
1月前
|
数据采集 存储 搜索推荐
使用Python构建自定义搜索引擎:从数据抓取到索引与搜索
使用Python构建自定义搜索引擎:从数据抓取到索引与搜索
68 0
|
2月前
|
数据采集 XML 数据格式
Python爬虫Xpath库详解#4
XPath详解,涉及获取所有节点,子节点,父节点,属性匹配,文本获取,属性获取,按序选择等。【2月更文挑战第13天】
34 0
|
7月前
|
数据采集 JSON 前端开发
Python爬虫进阶:使用Scrapy库进行数据提取和处理
在我们的初级教程中,我们介绍了如何使用Scrapy创建和运行一个简单的爬虫。在这篇文章中,我们将深入了解Scrapy的强大功能,学习如何使用Scrapy提取和处理数据。
|
3月前
|
数据采集 存储 调度
Scrapy:高效的Python网络爬虫框架
在信息时代,数据的获取和分析已经成为了一项重要的技能。而网络爬虫则是实现数据采集的一种常用手段。Scrapy作为一个高效、灵活的Python网络爬虫框架,其具备强大的扩展性、高度的可配置性以及良好的兼容性。本文将从Scrapy的概念入手,介绍其基本原理、使用方法以及实际应用案例。
|
4月前
|
Shell Linux Python
关于Python安装Scrapy库的常见报错解决
关于Python安装Scrapy库的常见报错解决
117 0
|
5月前
|
索引 Python
【Python】数据解析—Xpath解析
【Python】数据解析—Xpath解析
32 0
|
7月前
|
数据采集 JSON API
使用Python和XPath解析动态JSON数据
使用Python和XPath解析动态JSON数据