
网络小偷之路
python爬虫之路
你哥同学
这个作者很懒,什么都没留下…
展开
-
python爬虫11:session和cookie自动登录机制
session和cookie自动登录机制 cookie是浏览器支持的一种本地存储方式,以dict存 为啥要cookie? http协议是无状态协议,也就是服务器不管是哪个浏览器请求的 两个请求之间是没有联系的 某些如某宝上,请求之间是有联系的,毕竟要给你贴标签 浏览器A向服务器发请求,服务器给A生成一个id,并返回给浏览器,浏览器把id放在cookie中,下一次浏览器请求时带着id cookie可能会有安全隐患,因为随时都能查看,密码之类的在里面也能查看 所以有了session,每次开浏览器,服务器框架根据原创 2020-08-07 23:13:26 · 214 阅读 · 0 评论 -
python爬虫10:scrapy itemloader提取信息
scrapy itemloader提取信息 当提取字段过多,css、xpath这种就要写好多,不方便, 之前的parse_detail 大致可以改为 '''Itemloader 每一个字段默认会返回一个列表''' item_loader = ItemLoader(item=JobBoleArticleItem(), response=response) item_loader.add_css('title', "#news_title a::text"原创 2020-08-07 22:38:46 · 271 阅读 · 0 评论 -
python爬虫09:scrapy数据写入json并录入mysql
scrapy配置items数据写入json当中 scrapy数据的保存都交由 pipelines.py 处理,接前几篇, 导出文件的常用格式和方法(scrapy自带的): https://docs.scrapy.org/en/latest/topics/exporters.html scrapy自带的用不好还是自己写控制吧 scrapy自带的json exporter的源码: class JsonItemExporter(BaseItemExporter): def __init__(self,原创 2020-08-07 02:42:03 · 443 阅读 · 0 评论 -
python爬虫08:scrapy下载图片
scrapy下载图片 可以去看scrapy官方文档学习如何配置来下载文件 https://docs.scrapy.org/en/latest/topics/media-pipeline.html 要挂梯子 如果要下载cnblogs新闻页封面图片,不妨先在工作目录下建立一个images文件夹,之后要修改一下settings.py 头部加上 import sys import os 中间修改成 # Configure item pipelines # See https://docs.scrapy.org/e原创 2020-08-05 22:47:10 · 231 阅读 · 0 评论 -
python爬虫07:scrapy items定义和使用,md5的获取
scrapy items定义和使用 当要爬取的字段过多,要把字段拼在一块 scrapy提供了 item 类 生成爬虫时已经生成了items.py item是dict的增强版本 关闭robot协议: 关于网站的robot协议:域名+/robots.txt 在浏览器可获取 不遵循robots协议: 在settings.py 搜索ROBOTSTXT_OBEY = True把true改成False即可 顺便在settings.py 搜索piplines,把默认注释取消 # Configure item pipeli原创 2020-08-05 20:56:38 · 400 阅读 · 0 评论 -
python爬虫06:scrapy完成抓取cnbolgs的news过程
scrapy完成抓取过程 # -*- coding: utf-8 -*- import scrapy from scrapy import Request from urllib import parse class JobboleSpider(scrapy.Spider): name = 'jobbole' allowed_domains = ['news.cnblogs.com'] start_urls = ['http://news.cnblogs.com/']原创 2020-08-05 01:14:52 · 221 阅读 · 0 评论 -
python爬虫05:爬虫与css选择器
爬虫与css选择器 scrapy 依赖 lxml, lxml 是c语言写的,也支持css css 没有 xpath 强大 # -*- coding: utf-8 -*- import scrapy class JobboleSpider(scrapy.Spider): name = 'jobbole' allowed_domains = ['news.cnblogs.com'] start_urls = ['http://news.cnblogs.com/'] de原创 2020-08-04 21:12:04 · 1324 阅读 · 0 评论 -
python爬虫04:Xpath基础和简单使用
Xpath简介 https://baike.baidu.com/item/XPath/5574064?fr=aladdin 哈哈哈 总之是小型查询语言 1.Xpath使用路径表达式在xml和html中导航 2.Xpath包含标准函数库 3.Xpath是一个w3c标准,通用性非常强 html是树结构的 Xpath基本语法: https://www.w3.org/TR/xpath-functions/#func-abs ...原创 2020-08-04 00:42:22 · 506 阅读 · 0 评论 -
python爬虫04:关于scrapy
python爬虫之scrapy框架 scrapy底层基于twisted,是io多路复用的,高并发的,是select+回调+事件循环的 使用scrapy最好不要写用同步io,用同步框架、库等,这样会降低scrapy的并发性能 scrapy默认文件 可以百度scrapy的官方文档scrapy document 创建一个scrapy项目 >>scrapy startproject ArticleSpider 之后会有 You can start your first spider with:原创 2020-07-29 02:34:37 · 137 阅读 · 0 评论 -
python爬虫03:url去重与unicode编码
url去重与unicode编码1.url去重策略2.字符串编码 1.url去重策略 1.将访问过的url存入数据库中(效率低) 2.将访问过的url存入set中,o(1),很快,但是内存占用过大 一亿条url * 2byte * 50个字符/1024/1024/1024=9G 3.url经过md5编码等方法哈希后保存到set中(scrapy方式) 4.用bitmap方法,将访问过的url通过hash函数映射到某一位byte上 但是容易有位置冲突 5.bloomfilter方法对bitmap进行改进,多重ha原创 2020-07-11 00:24:45 · 399 阅读 · 0 评论 -
python爬虫02:网站树结构,深度优先及广度优先
python爬虫02:网站树结构,深度优先及广度优先原创 2020-07-10 22:50:24 · 452 阅读 · 0 评论 -
python爬虫01:正则表达式
python爬虫正则表达式1.特殊字符2.简单应用及示例 正则表达式离不开re库 1.特殊字符 ^必须以某个字符开头 / $必须以某个字符结尾 / *匹配多次 import re line = "asshole123" pat01 = "^a.*" '''从a开头,任意字符,匹配多次''' pat02 = "^h.*" pat03 = ".*3$" '''任意字符,重复多次,以3结尾''' if re.match(pat01, line): print("ok") if re.match(pa原创 2020-07-10 17:57:36 · 219 阅读 · 0 评论