吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4457|回复: 42
收起左侧

[Python 转载] 自己开发爬虫框架SexyLady

  [复制链接]
SexyLady 发表于 2022-3-14 23:24
本帖最后由 SexyLady 于 2022-3-14 23:33 编辑

前言

作者从事python这门行业也有三年多了,现在也依旧从事python开发,基本集中在数据服务这块。我也很感谢能够成为吾爱的一员,我是最新一批注册的也就是3.13号。那么今天终于可以发帖,非常开心,因为很多技术或者学习的资源及工具有很大一部分都来自吾爱。同时我自己也是一名技术热爱狂,我的id我的第一个认真开发的项目名都叫SexyLady,所以我是真的热爱技术犹如痴迷性感女郎一般👙

那么屁话也不多说,直接介绍下的我SexyLady。

准备工作

  1. 克隆项目到本地后您可以在项目的终端下输入pip命令,来安装项目所需要的模块包。

    pip install -r requirements.txt
  2. 在准备就绪是,您的项目目录结构应该是:

    此时,您需要运行 tools 目录下 make_template.py 文件,终端命令如下:

    cd .\tools\
    python .\make_template.py
    ============================
    output:Create template successfully

    此时您将会看到生成了 set_spider 和 set_parser 的.py 文件,如果未出现请重新从磁盘加载目录。

  3. 接下来您可以查看生成的模板文件文档,开始熟悉。

开始

创建爬虫

  1. 在 set_spider 中,您需要先设置您的抓取目标(url),比如我们可以这样:

    class SN:
    
       def __init__(self):
           """
           Want to pass a list like this: self.urls = ['links_1', 'links_2']
           your tasks are not many. You can also do this: self.urls = 'link'
           """
           self.urls = "https://pypi.org/"

    是不是很简单呢😲?是以简单的方式完成了第一步,我们只需要设置 self.urls 即可,爬虫就创建完成了是😋

拿到数据

  1. 在 set_parser 中,您只需要专注您的采集数据工作即可,选用您喜欢的解析库,我们这里帮您封装了 xpath 和 PyQuery 。比如我们可以这样:

    class Parser:
       """
       requests_html is encapsulated here. For details, you can move to:
           https://github.com/kennethreitz/requests-html;
           https://pypi.org/project/requests-html/
    
       @:param methodname: Select the parsing method you need to use
       """
       methodname = 'xpath'
    
       def parser_source(self, p):
           """
           Show your cleaning data here, like this:
               info = self.html('//*[@id="articleContentId"]/text()')
           """
           label = p('//*[@id="user-indicator"]/nav[1]/ul/li/a/text()')
           print(label)

    在这里我们设置了 methodname = "xpath",它是为了告诉 AutoCompleteParser 中,您选中了哪一款解析器,随后我们在函数 parser_source 使用了解析器 p 完成了 label 字段的采集,并且打印它。

  2. 你是否已经运行程序了呢?没错,它肯定给你一个警告⚠,因为你传递错了爬虫的任务名给她,她找不到是要加载哪个爬虫文件😅,你需要更改这里:

    if __name__ == '__main__':
       #  You can initialize your log file
       make_logfile('is_test')
    
       ML.info('Start running...')
       SexyLady.callback('SN')  # Class name corresponding to set_spider.py

    SexyLady.callback('') 中,你需要把 set_spider.py 中的类名告诉她,她才知道加载这份爬虫配置文件👌。

尾声

SexyLady👱‍♀️ 了还在建设当中,她应该还有更多的特性,还有个更多的拓展,也希望使用者在 SexyLady 中遇到的问题❓、bug🛠,或者好的想法🎈都可以在git项目中反馈或者持续关注吾爱我的贴子,芜湖✈✈

git项目地址:https://gitee.com/lone_time_no_see_CJ/SpiderAPI

注:如需使用请直接右侧下载v0.1版本,不要克隆最新的,要不然你跑不起来🤦‍

免费评分

参与人数 20吾爱币 +13 热心值 +19 收起 理由
BanYe + 1 谢谢@Thanks!
yjn866y + 1 + 1 热心回复!
jcw3001 + 1 谢谢@Thanks!
iWater + 1 + 1 谢谢@Thanks!
lc123cctv + 1 我很赞同!
SFY110 + 1 + 1 谢谢@Thanks!
woaibinghongch6 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
GF16666668 + 1 我很赞同!
kuaileya + 1 我很赞同!
zj003100 + 1 + 1 我很赞同!
YuanFang0w0 + 1 + 1 谢谢@Thanks!
fz0222 + 1 + 1 热心回复!
chinguy + 1 谢谢@Thanks!
愷龍 + 1 + 1 用心讨论,共获提升!
E式丶男孩 + 1 + 1 名字你是真敢起啊
阿斯顿2 + 1 + 1 热心回复!
夫子点灯 + 1 谢谢@Thanks!
cfsxy + 1 用心讨论,共获提升!
LLLLLL123321 + 1 + 1 热心回复!
stuc + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

本帖被以下淘专辑推荐:

  • · Aarow|主题: 988, 订阅: 305

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

不负韶华 发表于 2022-3-15 10:32
没什么太大的意义,现有的框架相对很完善了,都是开源框架,有想法可以二次开发,提交pr
 楼主| SexyLady 发表于 2022-3-14 23:26
这款框架我会坚持开发,希望加精顶一顶,我会继续更新
aodamiao45 发表于 2022-3-14 23:43
蓝风 发表于 2022-3-14 23:45
可以对比下scrapy优劣
ouyang9r 发表于 2022-3-14 23:48
大佬能说下SexyLady的具体用途吗?谢了
kakagblbcy 发表于 2022-3-14 23:59
是想再造一个轮子?
lyj996 发表于 2022-3-15 00:23
等会试试再来回帖
ccwuax 发表于 2022-3-15 00:32
要什么条件才能发贴?我发贴都要审核的,回贴到没关系
cfsxy 发表于 2022-3-15 05:53
大佬能说下SexyLady的具体用途吗
xu6664258 发表于 2022-3-15 06:54
学习了,感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-12 20:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表