simple_crawl
- 仅需一行代码即可达到爬虫效果
- 很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:961562169
使用方法
pip install simple_crawl
### 以下源代码为简单介绍,详细功能介绍再源代码之下
from simple_crawl import request
request.parse(
# status 参数为运行状态,支持单线程多线程多进程协程以及联合
status="aiohttp",
# url 参数为爬虫网址,单线程状态为字符串格式,特殊状态为列表格式
url=['https://www.douban.com/group/explore?start={}'.format(i) for i in range(0,180,30)],
# login 参数为获取登陆信息,如淘宝等网址需要登陆信息
#login="taobao",
# type_url 参数为返回源代码格式,支持text和json,默认返回text
type_url = "text",
# Parsing 参数为解析方法,支持re、xpath和beautifulsoup
Parsing = 'xpath',
# label 参数为爬虫解析过程,字典格式,详情见下方
label = {
'url':['//*[@id="content"]/div/div[1]/div[1]/div[1]/div[2]/h3/a/@href',str],
'name':['//*[@id="content"]/div/div[1]/div[1]/div[1]/div[2]/h3/a/text()',str],
'Author':['//*[@id="content"]/div/div[1]/div[1]/div[1]/div[2]/div[2]/span[1]/a/text()',str]
},
# write 参数为爬虫结果保存,支持txt、csv、pkl、json,注:特殊状态爬虫信息容易混乱
write='result.txt',
# next_url 参数为下一页爬虫地址,@必须为href,仅支持单线程爬虫
next_url='//*[@id="content"]/div/div[1]/div[2]/span[4]/a/@href',
# page 参数为断续笔记,第一个参数是否启用笔记,第二个参数选填默认page.txt,仅支持单线程爬虫
page=[True,"now_url.txt"],
# clean 参数为是否进行数据清洗,防止大量爬虫收集无用信息
#clean=True,
# texting 参数为是否选择连续爬虫,避免爬虫过程中出现非代码问题报错结束爬虫程序
texting=True,
# Thread_num 为多线程数,默认为1单线程,支持多线程状态和异步状态
Thread_num=3,
# cpu_count 为多进程数,默认为1单进程,支持多进程状态和联合状态
cpu_count=1,
# sem 为异步控制数,默认为5同时启动,支持异步状态和联合状态
sem=5,
# write_SQL 为是否写入数据库,默认否
# host 参数默认localhost
# post 参数默认3306
# user 参数默认root
# password 参数必填,必须正确
# db 参数为即将存入的数据库名,若不存在自动创建
# table 参数为即将存入的数据表名,若不存在自动创建
write_SQL={
'host':'localhost',
'post':'3306',
'user':'root',
'password':'123456',
'db':'example',
'table':'example'
}
).run()
介绍一下crawl参数设置:
'''
单行代码爬虫程序执行
:param status:启用爬虫类型,支持普通爬虫、多进程爬虫、多线程爬虫、异步爬虫、异步多进程爬虫,参数请参考文档
:param url:即将请求的url地址,仅支持get请求
:param type_url:请求url后返回格式,支持text和json格式返回
:param Thread_num:即将启动多线程个数,默认为1单线程
:param sem:协程信号量,控制协程数,防止爬的过快,默认为5
:param cpu_count:运行爬虫使用多进程cpu核数,默认为系统核数一半
:param login:模拟网站登陆,保存登陆信息
:param Parsing:爬虫方式,支持re、xpath以及bs4方法
:param texting:是否启用连续爬虫,爬虫程序异常报错后重新启动爬虫,
多次报错结束程序,默认否
:param label:选择器内容,字典格式保存,
字典值为列表格式,第一个参数为选择器,第二个参数为转换类型
第一个参数必填,第二个参数默认str类型
:param write:是否写入文件,支持txt格式、csv格式、json格式以及pkl格式,默认否
:param next_url:是否跨页爬虫,选择器内容使爬虫继续翻页爬虫
:param page:是否选择断续笔记接手下次爬虫处理,默认否
:param clean:是否进行简单类型数据清洗,默认否
:param write_sql:是否写入数据库,默认否
'host'默认为'localhost','post'默认'3306','user'默认'root',
'password':'密码','db':'数据库','table':'数据表',
检测库是否存在,若不存在则创建,若存在则直接插入,
检测表是否存在,若不存在则创建,若存在则直接插入
:return True
'''
介绍玩法
接下来介绍的均为调用第三方库的情况下运行:
from simple_crawl import request
第一种玩法:输出源代码
调用requests库进行源代码请求。
特点:
请求失败则调用ip池处理重新请求访问,
出现五次失败默认网