![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python爬虫
Leadingme
干啥啥不行,写bug第一名!
展开
-
Scrapy框架(基础命令、选择器、spider、Item Pipeline组件类,分布式架构)
基础命令scrapy3 startproject demo [project_dir]在project_dir目录下创建一个Scrapy项目。如果project_dir未指定,project_dir则与相同myproject。cd demo 进入到项目内scrapy genspider mydomain mydomain.com 创建一个蜘蛛爬虫全局命令:startpr...原创 2020-04-02 15:56:06 · 636 阅读 · 0 评论 -
python定时发送邮件、爬虫监控、爬虫定时启动
1.邮件发送模板from email.mime.text import MIMETextfrom smtplib import SMTP def send_email(self,text): ''' 发送邮件 :param text: :return: ''' # 定义发件人 ...原创 2020-03-27 21:06:14 · 2270 阅读 · 1 评论 -
python实现 hash + md5加密去重
hash加密import hashlibfp = hashlib.sha1()fp.update('python'.encode('utf-8'))value = fp.hexdigest()md5加密import hashlibmd5 = hashlib.md5()md5.update('python'.encode('utf-8'))value = md5.he...原创 2020-03-25 20:06:22 · 1449 阅读 · 0 评论 -
Scrapy_redis分布式基础_redis使用
Scrapy_redis优点Scrapy_redis在Scrapy的基础上实现了更多,具体体现在: request去重(过滤以前都爬过的地址),爬虫持久化,和轻松实现分布式redis定义:Redis是一个开源的,内存数据库,它可以用作数据库、缓存和消息中间件,它支持多种类型的数据结构,如字符串,哈希,列表,集合等常用命令:/etc/init.d/redis-server ...原创 2020-03-25 20:00:35 · 1339 阅读 · 0 评论 -
scrapy中模拟登陆的三种实用方法
scrapy模拟登陆发送post请求方式1(通过formdata参数)import scrapyimport reclass PostSpider(scrapy.Spider): name = 'post' allowed_domains = ['github.com'] start_urls = ['https://github.com/login'] ...原创 2020-03-25 19:53:34 · 1324 阅读 · 0 评论 -
scrapy中Crawlspider的用法
Crawlspider创建scrapy genspider -t crawl baidu www.baidu.comCrawlspider用法# -*- coding: utf-8 -*-import scrapyfrom scrapy.linkextractors import LinkExtractorfrom scrapy.spiders import CrawlSpider...原创 2020-03-25 19:46:07 · 1524 阅读 · 0 评论 -
scrapy爬虫中pipeline保存数据
保存到MongoDBclass MongoPipeline(object): def __init__(self, mongo_url, mongo_db): self.mongo_url =mongo_url self.mongo_db = mongo_db self.db = None @classmethod def...原创 2020-03-25 19:44:03 · 871 阅读 · 0 评论 -
scrapy中的settings.py文件详情
并发性(默认16,最到32,当对方不当做爬虫时)Configure maximum concurrent requests performed by Scrapy (default: 16)CONCURRENT_REQUESTS = 32下载延迟DOWNLOAD_DELAY = 3 //一般建议设置,避免造成目标服务器宕机域名和代理IP的并发The download de...原创 2020-03-25 19:42:47 · 830 阅读 · 0 评论 -
scrapy深入认识程序的debug信息
常见的debug信息[scrapy.utils.log] INFO: Overridden settings: 自己设置的settings信息[scrapy.middleware] INFO: Enable extensions :启动的扩展插件[scrapy.middleware] INFO: Enable downloader middlewares: 启动的下载中间件[scrapy...原创 2020-03-25 19:38:08 · 1474 阅读 · 1 评论 -
scrapy爬虫中(Requests+FormRequest)两大请求
Requestsscrapy.Request(url [,callback,method=‘GET’,headers,body,cookies,meta,dont_filter=False])scrapy.Request常用参数为:callback:指定传入的url交给哪个解析函数去处理meta:实现在不同的解析函数中传递参数,meta默认会携带部分信息,比如下载延迟,请求深度,通...原创 2020-03-25 19:36:19 · 1739 阅读 · 0 评论 -
python_logging日志模块的使用
logging 模块的使用scarpysettings中设置LOG_LEVEL=“WARNING” #只显示级别比WARNING高的settings中设置LOG_FILE="./log.log" # 设置日志保存的位置,设置后不会显示终端import logging,实例化logger的方式在任何中使用logger,输出内容普通项目中import logginglogg...原创 2020-03-25 19:34:37 · 874 阅读 · 0 评论 -
scrapy中间件(fake_useragent使用 + ip代理设置)
随机用户代理from fake_useragent import UserAgentheaders = { "User-Agent": UserAgent().chrome}from scrapy import signalsfrom fake_useragent import UserAgentfrom scrapy.exceptions import IgnoreRe...原创 2020-03-25 19:32:41 · 1201 阅读 · 0 评论 -
MongoDB基础语法(插入、查询、修改、删除)
数据库操作show dbs; // 查看有哪些数据库db; // 查看当前所在数据库,默认testuse 数据库; // 切换到某一数据库,没有的话则创建db.createCollection() // 新建集合show collections; // 查看当前数据库下有哪些集合db.dropDatabase() ...原创 2020-03-25 19:25:08 · 802 阅读 · 0 评论 -
python爬虫_PyQuery库基础
1.初始化字符串初始化from pyquery import PyQuery as pqhtml = """<html><head><title>Demo</title></head><body> <div> <p name="test" class='test test2'>Hell...原创 2020-03-25 10:54:56 · 732 阅读 · 0 评论 -
python爬虫_BeautifulSoup库使用
BeautifulSoup概述: BeautifulSoup是一个灵活方便的解析库,处理高效,支持多种解析器,利用它不用编写正则表达式即可方便实现网页信息的提取解析器解析器使用方法优势劣势Python标准库BeautifulSoup(markup, “html.parser”)Python的内置标准库执行速度适中文档容错能力强 Python 2.7.3 or ...原创 2020-03-25 10:43:20 · 865 阅读 · 0 评论 -
Requests库(get请求,post请求,reponse属性、文件上传、cookies模拟登录、异常处理)
1. Requests库概述: Requests是用python语言编写,基于Urllib,采用Apache2Licensed开源的协议HTTP库,他比urllib更加方便,可以节省大量的工作,完全满足HTTPRequest支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。import re...原创 2020-03-25 09:50:44 · 751 阅读 · 0 评论 -
Urllib库基础(urllib.request、urllib.error、urllib.parse、urllib.robotparser、)
Python内置的HTTP请求库1.urllib.request 请求模块urllib.request.urlopen(url,data=None,timeout=tiem) 返回一个文件 例1(GET): response = urllib.request.urlopen("http://leadingme.top",timeout=1) response.read(...原创 2020-03-25 09:43:00 · 948 阅读 · 0 评论 -
python爬虫基本原理及数据处理
爬虫基本原理爬取流程(1)发起请求: 通过HTTP库向目标发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。(2)获取响应内容: 如果服务能正常响应,会得到一个Response,Response的内容就是要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。(3)解析内容: 得到的内容可能是HTML,可以用正则表...原创 2020-03-25 09:30:20 · 1476 阅读 · 0 评论 -
爬虫异常处理(状态码、常见错误)
必要性: 爬虫在运行的过程中,很多时候都会遇到异常。如果没有异常处理,爬虫遇到异常时就会直接崩溃停止运行,要开发一个具有顽强生命力的爬虫,必须进行异常处理。常见状态码及含义:301 Moved Permanently: 重定向到新的URL,永久性302 Fount: 重定向到新临时的URL,非永久性304 Not Modified: 请求资源未更新400 Bad R...原创 2020-03-25 09:27:46 · 2230 阅读 · 0 评论 -
爬虫入门_正则表达式
正则表达式总结1. 原子1. 普通字符作为原子:import re str = 'leadingme' path = 'me' res = re.search(path,str)2. 非打印字符作为原子:\n换行符, \t制表符等3. 通用字符作为原子:\w 字母,数字,下划线 、\W 除字母,数字,下划线字符、\d 十进制数、\D 除十进制数数字、\s 空白字符、\S 除空白...原创 2020-03-24 16:56:32 · 582 阅读 · 0 评论