随笔分类 - 爬虫
摘要:1、Headers反爬虫 :Cookie、Referer、User-Agent User-Agent 用户代理,是Http协议中的一部分,属于头域的组成部分,作用是描述发出HTTP请求的终端的一些信息。使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言
阅读全文
摘要:一、urllib库简介 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求。其常被用到的子模块在Python3中的为urllib.request和urllib.parse,在Python2中是urllib和urllib2。 urlopen函数原型: url
阅读全文
摘要:思路: (1)打开登录页面,并输入用户名和密码,点击登录按钮,弹出验证码图片; (2)获取2张验证码图片,带缺口和不带缺口; (3)获取缺口位置。遍历带缺口的图片和不带缺口的图片的每个像素,利用 is_pixel_equal() 方法判断两张图片同一位置的像素是否相同。比较两张图 RGB 的绝对值是
阅读全文
摘要:使用超级鹰打码平台处理登录的文字点击验证码 import time from io import BytesIO from PIL import Image from selenium import webdriver from selenium.webdriver import ActionCha
阅读全文
摘要:模拟登陆微博相对来说,并不难。验证码是常规的5个随机数字字母的组合,识别起来也比较容易。主要是用到许多Selenium中的知识,如定位标签、输入信息、点击等。如对Selenium的使用并不熟悉,请先移驾《Python爬虫 | Selenium详解》。相信你再来看本篇一定可以看懂。 破解微博登陆的思路
阅读全文
摘要:12306官网登录的验证码破解比较简单,验证码是常规的点触类型验证码,使用超级鹰识别率比较高。 思路: (1)webdriver打开浏览器; (2)先对整个屏幕截屏,通过标签定位找到验证码图片,并定位到验证码图片的坐标,然后从先前截屏的图片中截取验证码部分的图片; (3)通过超级鹰识别验证码上字的坐
阅读全文
摘要:import requests import re import execjs import time import hmac from hashlib import sha1 class Zhihu(object): def __init__(self, username, password):
阅读全文
摘要:错误信息:程序包无效。详细信息:“Cannot load extension with file or directory name . Filenames starting with "" are reserved for use by the system.”。 1、找到Chrome安装程序路径
阅读全文
摘要:首先,MySQL创建好数据库和表 然后编写各个模块 item.py import scrapy class JianliItem(scrapy.Item): name = scrapy.Field() url = scrapy.Field() pipeline.py import pymysql #
阅读全文
摘要:豆瓣电影TOP 250网址 要求: 1.爬取豆瓣top 250电影名字、演员列表、评分和简介 2.设置随机UserAgent和Proxy 3.爬取到的数据保存到MongoDB数据库 items.py # -*- coding: utf-8 -*- import scrapy class Douban
阅读全文
摘要:一、简介 网页三元素: html负责内容; css负责样式; JavaScript负责动作; 从数据的角度考虑,网页上呈现出来的数据的来源: html文件 ajax接口 javascript加载 如果用requests对一个页面发送请求,只能获得当前加载出来的部分页面,动态加载的数据是获取不到的,比
阅读全文
摘要:一、背景 之前爬虫使用的是requests+多线程/多进程,后来随着前几天的深入了解,才发现,对于爬虫来说,真正的瓶颈并不是CPU的处理速度,而是对于网页抓取时候的往返时间,因为如果采用requests+多线程/多进程,他本身是阻塞式的编程,所以时间都花费在了等待网页结果的返回和对爬取到的数据的写入
阅读全文
摘要:一、简介 为了提高爬虫程序效率,由于python解释器GIL,导致同一进程中即使有多个线程,实际上也只会有一个线程在运行,但通过request.get发送请求获取响应时有阻塞,所以采用了多线程依然可以提高爬虫效率。 多线程爬虫注意点1.解耦 整个程序分为4部分,url list模块、发送请求,获取响
阅读全文
摘要:对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。 有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事
阅读全文
摘要:下载中间件简介 在Scrapy中,引擎和下载器之间有一个组件,叫下载中间件(Downloader Middlewares)。因它是介于Scrapy的request/response处理的钩子,所以有2方面作用: (1)引擎将请求传递给下载器过程中,下载中间件可以对Requests进行一系列处理。比如
阅读全文
摘要:一.Scrapy框架简介 何为框架,就相当于一个封装了很多功能的结构体,它帮我们把主要的结构给搭建好了,我们只需往骨架里添加内容就行。scrapy框架是一个为了爬取网站数据,提取数据的框架,我们熟知爬虫总共有四大部分,请求、响应、解析、存储,scrapy框架都已经搭建好了。scrapy是基于twis
阅读全文
摘要:一、简介 - 爬虫中为什么需要使用代理 一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会禁止这个IP的访问。所以我们需要设置一些代理IP,每隔一段时间换一个代理IP,就算IP被禁止,依然可以换个IP继续爬取。 - 代理
阅读全文
摘要:一、Cookie Cookie的由来 大家都知道HTTP协议是无状态的。简单来讲,HTTP要求浏览器对服务器的请求,每一个请求,对于服务器而言,都是新的请求服务器,并不知道浏览器是谁。状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数据又是我们需要
阅读全文
摘要:一、简介 cookie概念 当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。 Cookie 是指某些网站服务器为了辨别用户身份和进行Session跟踪,而储存在用户浏览器上的文本文件,Cookie可以保持登
阅读全文
摘要:User-Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者
阅读全文

浙公网安备 33010602011771号