爬虫可以简单分为几步:抓取页面、分析页面、存储数据。 在第一步抓取页面的过程中,我们就需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作,在本书中我们用到的第三方库有 Requests、Selenium、Aiotttp 等。 在本节我们介绍一下这些请求库的安装方法。 1.1.1 Requests的安装 由于 Requests 属于第三方库,也就是 Python 默认不会自带这个库,需要我们手动去安装,下面我们首先看一下它的安装过程...
1.1.4 GeckoDriver的安装 在上一节我们了解了 ChromeDriver 的配置方法,配置完成之后我们便可以用 Selenium 来驱动 Chrome 浏览器来做相应网页的抓取。 那么对于 Firefox 来说,也可以使用同样的方式完成 Selenium 的对接,这时需要安装另一个驱动 GeckoDriver。 本节来介绍一下 GeckoDriver 的安装过程。 1. 相关链接GitHub:https://github.com/mozilla/ge… 下载地址:https://github.com/mozilla/ge…2. MAC安装方式 brew?ins...
前言 要求:进行搜索并且保存360图库图片 图库地址:360图库 基本思路 简单分析以后,发现360图库使用动态渲染,并且采用下拉反式加载图片,那么解决问题就出现3种常用方法,操作js、模拟浏览器、Ajax。如果使用模拟的反式代码量较高,速度慢(当然也更加稳定),但是经过简单分析以后发现图片是使用ajax加载的。那么就直接使用ajax。 分析该请求查看请求的response发现请求的结果是一个json字符串,并且在字符串中找到了"img":“h...
【摘要】前面说过,urllib库里还提供了parse这个模块,它定义了处理URL的标准接口,例如实现URL各部分的抽取、合并以及链接转换。它支持如下协议的URL处理:file、ftp、gopher、hdl、http、https、imap、mailto、 mms、news、nntp、prospero、rsync、rtsp、rtspu、sftp、 sip、sips、snews、svn、svn+ssh、telnet和wais。本节中,我们介绍一下该模块中常用的方法来看一下它的便捷之处。 1. urlparse() 该方法可以实现URL的识别和分...
【摘要】 为了更加方便地实现这些操作,就有了更为强大的库requests,有了它,Cookies、登录验证、代理设置等操作都不是事儿。 上一节中,我们了解了urllib的基本用法,但是其中确实有不方便的地方,比如处理网页验证和Cookies时,需要写Opener和Handler来处理。为了更加方便地实现这些操作,就有了更为强大的库requests,有了它,Cookies、登录验证、代理设置等操作都不是事儿。 接下来,让我们领略一下它的强大之处吧。 【快速入...
【摘要】使用urllib的request模块,我们可以方便地实现请求的发送并得到响应,本节就来看下它的具体用法。 1. urlopen() urllib.request模块提供了最基本的构造HTTP请求的方法,利用它可以模拟浏览器的一个请求发起过程,同时它还带有处理授权验证(authenticaton)、重定向(redirection)、浏览器Cookies以及其他内容。 下面我们来看一下它的强大之处。这里以Python官网为例,我们来把这个网页抓下来:import urllib.request resp...
【摘要】 前一节我们了解了请求的发送过程,但是在网络不好的情况下,如果出现了异常,该怎么办呢?这时如果不处理这些异常,程序很可能因报错而终止运行,所以异常处理还是十分有必要的。 urllib的error模块定义了由request模块产生的异常。如果出现了问题,request模块便会抛出error模块中定义的异常。 1. URLError URLError类来自urllib库的error模块,它继承自OSError类,是error异常模块的基类,由request模块生的异常都可以通...
python3.7.1安装Scrapy爬虫框架 环境:win7(64位), Python3.7.1(64位) 一、安装pyhthon 详见Python环境搭建:http://www.runoob.com/python/python-install.html 二、Scrapy安装介绍 1.运行CMD,输入python --version版本; 2.安装Scrapy:运行CMD,输入:pip install Scrapy 安装结果:安装scrapy报错,在Twisted安装部分*提示:如果安装过程中出现报错pip版本太低,即刻升级pip,代码如下 python -m pip install -...
一、写在前面我在以前写过一次12306网站的爬虫,当时实现了模拟登录和查询车票,但是感觉还不太够,所以对之前的代码加以修改,还实现了一个订购车票的功能。 二、主要思路在使用Selenium做模拟登录12306网站的时候,需要将登录成功后的Cookie保存下来,这个Cookie在后面是必需的。然后就是在12306网站上查票订票,同时使用Fiddler软件进行抓包,通过分析得到订票所需的十多个请求,只要依次发送这些请求,在请求成功之后就能够订到...
import urllib2 源地址 在python3.3里面,用urllib.request代替urllib2import urllib.request as urllib2 import cookielib 源地址 Python3中,import cookielib改成 import http.cookiejarimport http.cookiejar as cookielib
随着移动互联网的市场份额逐步扩大,手机 APP 已经占据我们的生活,以往的数据分析都借助于爬虫采集爬取网页数据进行分析,但是新兴的产品有的只有 APP,并没有网页端这对于想要提取数据的我们就遇到了些问题,本章以豆果美食 APP 为例给大家演示如何利用Python爬虫采集抓取提取手机APP数据。具体教程如下: 一、安装 Fiddler Fiddler 官网下载地址:http://www.fiddler2.com/fiddl...,笔者是直接在百度搜索的下载版本 安装过程就...
from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, datetime import base64, json, pymysql from fontTools.ttLib import TTFontua = UserAgent()class CustomException(Exception):def __init__(self, status, msg):self.status = statusself.msg = msgclass City_58:58同城的爬虫类,目前就写这两个出租房url: https://cd.58.com/chuzu/ cd代表成都缩写二手房url: htt...
打开第一个链接,查看详细信息关键点在于 前一个.jpg是原图,可以通过操作字符串的方式改写得到原链接 更早时候发布的图片,链接方式不一样这里写一个判断获取的src是否为空就可以区分 关键问题解决,整理下思路 1.https://www.gracg.com/p599367964217379?page=1 改变“page=x”可以得到所有的图片的目录列表------format可以操作 2.xpath得到每个缩略图所指向的图片单独链接 def get_infos(url):res=requests.get(url,headers=he...
# _*_ encoding:utf-8 _*_ ___author___ = boddy ___date___ = 2019/4/9 13:40 import xadmin from .models import EmailVerifyRecord,Banner #新建对model进行管理的类,继承最底层的类 class EmailVerifyRecordAdmin(object): #列表中默认显示的项目 list_display = [code, email, send_type, send_time] #搜索包含的内容 search_fields = [code, email, send_type] # 检索 list_filter = [code, email, ...
# -*- coding: utf-8 -*- 16位随机字符的字符串参数一 获取歌曲下载地址 "{"ids":"[1361348080]","level":"standard","encodeType":"aac","csrf_token":""}" 获取歌曲评论信息 "{"rid":"R_SO_4_1361348080","offset":"0","total":"true","limit":"20","csrf_token":""}"第二三四为参数是固定的 "010001" "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f5...