
爬虫
Alphapeople
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
正则表达式的使用
正则表达式是处理字符串的强大工具,可用于字符串的检索、替换和匹配验证。下面给出正则表达式的长用匹配规则:通过re库可以在python中使用正则表达式。下面看看一些常用的方法:match():它首先从起始位置匹配正则表达式,如果匹配就返回匹配成功的结果,不匹配就返回None。下面举个例子:import recontent = 'Hello 123 4567 World_This ...原创 2019-01-17 11:35:59 · 179 阅读 · 0 评论 -
CrawlSpider爬取微信小程序社区
CrawlSpider相比于scrapy的强大之处就是之前的爬虫如果爬完一页了要去爬取第二页的数据需要自己yield发送请求过去,而CrawlSpider就只需要指定一些规则,满足规则的url就去下载,不满足的就不下载。创建CrawlSpider需要用scrapy genspider -t crawl [爬虫名] [域名]这个命令。首先打开:http://www.wxapp-union.c...原创 2019-01-25 21:28:52 · 809 阅读 · 1 评论 -
获取Ajax请求返回的数据
import requestsfrom urllib.parse import urlencode#Ajax请求的url参数params = { 'p':'3', 'n':'20'}url = 'https://www.bufanbiz.com/api/website/articles/?'+urlencode(params)response = requests.g...原创 2019-01-26 10:33:10 · 1681 阅读 · 0 评论 -
爬取百度图片指定的图片内容
import urllib.parseimport reimport osimport requestsimport cv2header={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Sa...原创 2019-01-26 11:38:37 · 532 阅读 · 1 评论 -
Ajax实战之爬取喜马拉雅音乐
import requestsfrom urllib.parse import urlencodedef download_music(pageNum): params = { 'albumId':'6090879', 'pageNum':pageNum, 'sort':'-1', 'pageSize':'30' ...原创 2019-01-26 12:10:52 · 244 阅读 · 0 评论 -
代理的使用
from urllib import requesturl = 'http://httpbin.org/ip'# resp = request.urlopen(url)# print(resp.read())#打印外网的IP地址"""代理的使用步骤:1、使用ProxyHandler传入代理构建一个Handler2、使用这个Handler构建一个Opener3、使用Opener发送...原创 2019-01-16 10:09:13 · 193 阅读 · 0 评论 -
Ajax请求的爬取
下面模拟Ajax请求将前10页微博全部爬取下来:from urllib.parse import urlencodeimport requestsfrom pyquery import PyQuery as pqbase_url = 'https://m.weibo.cn/api/container/getIndex?'#表示请求的url的前半部分headers = { '...原创 2019-01-21 18:51:24 · 319 阅读 · 0 评论 -
scrapy shell 的使用
scrapy shell可以帮我们测试一些代码,比如当我们爬取到数据以后想要提取数据,而有些时候不知道我们写的对不对,当然可以直接运行一下,但这种方式比较麻烦,而最好的方式就是写一个测试代码去测试它正不正确。因此这个scrapy shell就应运而生了。要使用它的话首先需要进入项目所在的目录,在目录下打开终端,输入scrapy shelll [待测试的url链接]这时就会进入它的环境,然后就可...原创 2019-01-26 18:33:13 · 403 阅读 · 0 评论 -
Cookie模拟登录
from urllib import requesturl = 'http://www.renren.com/905249683'headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 ...原创 2019-01-16 11:56:01 · 658 阅读 · 0 评论 -
Cookie自动登录
from urllib import requestfrom http.cookiejar import CookieJarfrom urllib import parse"""Cookie自动登录步骤:1、创建一个cookiejar对象2、使用cookiejar创建一个HTTPCookieProcess对象3、使用创建好的Handler创建一个Opener4、使用Opener发送...原创 2019-01-16 12:16:56 · 217 阅读 · 0 评论 -
scrapy下载汽车之家宝马5系高清图片
首先打开链接:https://www.autohome.com.cn/202/#levelsource=000000000_0&pvareaid=101594点击图片实拍: 然后新建一个scrapy项目,接下来就进入项目里面写代码了。bmw5.py:# -*- coding: utf-8 -*-import scrapyfro...原创 2019-01-26 20:48:02 · 721 阅读 · 0 评论 -
requests库的使用
requests库的各种方法get()、post()、put()、delete()、head()、options()GETimport requestsr = requests.get('http://httpbin.org/get')print(r.text)运行结果:{ "args": {}, "headers": { "Accept": "*/*...原创 2019-01-16 17:07:48 · 690 阅读 · 0 评论 -
Ajax抓取今日头条街拍美图
这个实例是抓取今日头条街拍美图,然后将每组图片分文件夹下载的到本地并保存下来。在抓取之前先要分析抓取逻辑:首先在搜索框中输入街拍:然后打开Preview查看Pesponse Body,在搜索框中查找:车控街拍车之一定有些情怀系列,发现并没有找到: 说明这些数据是由Ajax加载然后通过Javascript渲染...原创 2019-01-22 15:34:28 · 335 阅读 · 0 评论 -
Selenium抓取动态页面
动态渲染页面不止Ajax一种,有些页面是直接由Javascript计算后生成的,并不包含Ajax请求。还有的页面虽然是通过Ajax获取的数据,但是Ajax接口含有很多加密参数,我们很难直接找出其中的规律将数据抓取下来。为解决这个问题,就直接使用模拟浏览器运行的方式,只要浏览器中能够显示出来的都能够抓取到。selenum相当于一个机器人,可以执行点击、下拉等操作。下面通过它来打开百度页面:...原创 2019-01-22 21:07:29 · 1331 阅读 · 0 评论 -
Selenium爬取淘宝商品
在这个例子中,我们使用Selenium抓取淘宝商品并利用pyquery解析商品的图片、名称、价格、购买人数、店铺名称和店铺所在地。from selenium import webdriverfrom selenium.common.exceptions import TimeoutExceptionfrom selenium.webdriver.common.by import Byf...转载 2019-01-23 14:58:30 · 272 阅读 · 0 评论 -
爬取电影天堂电影并将下载地址保存在csv文件中
import requestsfrom lxml import etreeimport csvheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'}...原创 2019-01-21 14:08:25 · 2026 阅读 · 0 评论 -
爬取猫眼电影排行
import requestsfrom lxml import etreeimport jsonimport csvheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Saf...原创 2019-01-21 11:10:52 · 264 阅读 · 0 评论 -
多线程爬取表情包
本例通过多线程爬取http://www.doutula.com网站来讲解如何让使用多线程进行爬取。首先打开这个网站,点击最新表情: 然后我们只需要找出最新表情相关的规律,比如我们点击一下第二页,url就变成了http://www.doutula.com/photo/lis...原创 2019-01-25 16:57:26 · 347 阅读 · 0 评论 -
抓取猫眼电影排行
首先将第一个页面抓取下来:import requests"""抓取一个"""def get_one_page(url): headers = { 'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 'AppleWebKit/537.36 (KHTML, ...转载 2019-01-17 16:44:56 · 405 阅读 · 0 评论 -
XPath的使用
XML路径语言XPath是一门在XML文档中查找信息的语言,提供了非常简洁明了的路径选择表达式,而且还提供了超过100个内建函数,用字符串、数值、时间的匹配以及节点、序列的处理等。下面列举一些XPath的常用规则:nodename 选取此节点的所有子节点 / 从当前节点选取直接子节点 // 从当前节点选取子孙节点 . 选取当前节点 .. 选取当前节...转载 2019-01-17 21:04:02 · 186 阅读 · 0 评论 -
Beautiful Soup库的使用
Beautiful Soup是借助网页的结构和属性等特性来解析网页,先看一些例子:from bs4 import BeautifulSoupsoup = BeautifulSoup('<p>Hello</p>','lxml')print(soup.p.string)#获取p标签的字符串from bs4 import BeautifulSouphtml = ...原创 2019-01-18 15:23:01 · 507 阅读 · 0 评论 -
XPath实战之爬取豆瓣电影
进入豆瓣电影后点击全部正在热映: 然后首先需要将数据请求下来。一个爬虫基本上都是由两个部分组成的:1、将目标网站上的页面抓取下来,2、将抓取下来的数据根据一定的规则进行提取。 从网页源代码可以看到所有电影信息都在ul标签里的li标签下,因...原创 2019-01-18 15:54:02 · 5813 阅读 · 0 评论 -
爬虫实战之爬取电影天堂全部电影信息
打开电影天堂: 再点击第二页,发现url分别是:https://www.dytt8.net/html/gndy/dyzz/list_23_1.html和https://www.dytt8.net/html/gndy/dyzz/list_23_2.html。通过观察可以发现只有最后的数字不一样,第几页就是几。然后查看网页源代码: ...原创 2019-01-18 19:48:35 · 11584 阅读 · 0 评论 -
scrapy爬虫实战
1、打开终端,在命令行下切换到要建立项目的文件夹: 使用scrapy startproject [项目名],例如:scrapy startproject qsbk。这时就会在相应文件夹下生成scrapy项目: ...原创 2019-01-24 11:31:47 · 3202 阅读 · 0 评论 -
爬虫基础知识总结
网络请求中各列的含义:Name:请求的名称Status:响应的状态码Type:请求的文档类型Initiator:请求源,用来标记请求是由哪个对象或进程发起的。Size:从服务器下载的文件和请求的资源大小。如果是from cache表示从缓存中取得资源。Time:发起请求到获取响应的总时间。 请求由客户端向服务器发出的,分为:Request Method...原创 2019-01-14 14:31:09 · 212 阅读 · 0 评论 -
pyquery库的使用
pyquery的强大之处就在于它有强大的CSS选择器,要初始化一个pyquery对象,首先需要传入一个HTML文本,它的初始化方式有多种,比如传入字符串、URL、文件名等。字符串初始化:我们先来看一个例子:from pyquery import PyQuery as pq#引入PyQuery对象html = '''<div class="global-nav-items"&...原创 2019-01-19 17:06:09 · 2500 阅读 · 1 评论 -
爬虫的一般步骤
一、发送请求(request)1、请求方式:GET、POST2、请求URL3、请求头:User-Agent、Host、Cookies等4、请求体二、获取数据(response)1、响应状态2、响应头3、响应体:要获取的数据三、解析数据(Parse)Json、XPath、BeautifulSoup、PyQuery、正则表达式四、存储数据1、文本2、...原创 2019-01-19 18:38:06 · 4325 阅读 · 0 评论 -
将爬取的数据以文件的方式进行存储
1、以文本的形式存储我们打开知乎的源代码: 发现信息都是存储在class属性为explore-tab feed-item的div标签中:import requestsfrom pyquery import PyQuery as pqurl = 'https://www.zhihu.com/explore'headers ...原创 2019-01-19 19:47:59 · 1982 阅读 · 0 评论 -
爬虫实战之爬取中国天气网
打开中国天气网:http://www.weather.com.cn/textFC/db.shtml对网页源代码做一个简单分析: import requestsfrom bs4 import BeautifulSoup#网页的解析函数def parse_page(url): headers = { 'User-Agen...原创 2019-01-20 10:25:27 · 11939 阅读 · 1 评论 -
爬取27270壁纸
import requestsfrom bs4 import BeautifulSoupheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'}def...原创 2019-01-25 09:55:14 · 863 阅读 · 0 评论 -
urllib库的使用
urllib库包含了四个模块分别是:request:基本的http请求模块,用来模拟发送请求。error:异常处理模块,捕获请求中的异常,然后进行重试或其他的操作以保证程序不会意外终止。parse:一个根据模块,提供了如拆分、解析、合并等的许多URL处理方法。robotparser:主要用来识别网站的robots.txt文件,然后判断哪些网站可以爬,哪些不能。request模块...原创 2019-01-15 10:39:14 · 2457 阅读 · 1 评论 -
爬取腾讯招聘岗位信息
from lxml import etreefrom selenium import webdriverimport csvimport timeclass Job: def __init__(self,f,fieldname): self.browser = webdriver.Chrome() self.f = f self.f...原创 2019-01-25 12:33:05 · 631 阅读 · 0 评论 -
将爬取的数据以关系型数据库的方式进行存储
MySQL存储首先连接数据库然后创建一个数据库:import pymysqldb = pymysql.connect(host='localhost',user='root',password='123456',port=3306)#声明一个MySQL连接对象#host是数据库的公网ipcursor = db.cursor()#调用cursor()方法获得MySQL的操作游标,可...原创 2019-01-20 19:09:16 · 310 阅读 · 0 评论 -
Scrapy框架详解
Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛,它的基本模块及流程如下: 它的基本模块有引擎、spiders(我们自己写的爬虫,数据的请求和解析就在这里完成)、调度器(当爬取多个url的时候调度这些url的爬取顺序)、下载器、管道(存储爬取到的数据)。爬取流程如下:1、requests:从spider发送请...原创 2019-01-23 17:30:47 · 308 阅读 · 0 评论