Python爬虫:scrapy辅助功能实用函数

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: Python爬虫:scrapy辅助功能实用函数

scrapy辅助功能实用函数:


get_response: 获得scrapy.HtmlResponse对象, 在不新建scrapy项目工程的情况下,使用scrapy的一些函数做测试


extract_links: 解析出所有符合条件的链接


代码示例

以拉勾首页为例,获取拉勾首页所有职位链接,进一步可以单独解析这些链接,获取职位的详情信息


import requests
from scrapy.http import HtmlResponse
from scrapy.linkextractors import LinkExtractor
def get_response(url):
    """
    获得scrapy.HtmlResponse对象, 在不新建scrapy项目工程的情况下,
    使用scrapy的一些函数做测试
    :param url: {str} 链接
    :return: {HtmlResponse} scrapy响应对象
    """
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0"
    }
    response = requests.get(url, headers=headers)
    return HtmlResponse(url=url, body=response.content)
def extract_links(response, allow, allow_domains):
    """
    解析所有符合要求的链接, 每次都解析不出来text属性,所以直接封装,可以做一些特定扩展
    :param response: {scrapy.http.HtmlResponse} scrapy响应
    :param allow: {tuple} 链接限定元组
    :param allow_domains: {tuple} 域名限定元组
    :return: {iterator({str})}
    """
    link_extractor = LinkExtractor(allow=allow, allow_domains=allow_domains)
    links = link_extractor.extract_links(response)
    return (link.url for link in links)
if __name__ == '__main__':
    url = "https://www.lagou.com/"
    response = get_response(url)
    links = extract_links(response, ("jobs/\d+.html"), ("lagou.com",))
    for link in links:
        print(link)
    """
   https://www.lagou.com/jobs/5185130.html
   https://www.lagou.com/jobs/4200613.html
   https://www.lagou.com/jobs/5039140.html
   https://www.lagou.com/jobs/5174337.html
   https://www.lagou.com/jobs/5185128.html
   https://www.lagou.com/jobs/5185127.html
    ...
    """
相关文章
|
15天前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
25 6
|
17天前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
20天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
124 67
|
2天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
13天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
42 18
|
5天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
35 8
|
7天前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
14天前
|
Python
Python中的函数
Python中的函数
31 8
|
17天前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
32 11
|
13天前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!