其实之前实现过这个功能,是使用selenium模拟浏览器页面点击来完成的,但是效率实际上相对来说较低.本次以解密参数来完成爬取的过程. 首先打开煎蛋网http://jandan.net/ooxx,查看网页源代码.我们搜索其中一张图片的编号,比如3869006,看下在源代码中是否能找到图片链接 从上面的HTML结构中找到这个标号对应的一些属性,没有直接的图片链接地址,只有一个src=//img.jandan.net/blank.gif,这很明显不是个真实的链接地址,因为每一个图片编号都有这个值.我…
分析完了真实图片链接地址,下面要做的就是写代码去实现了.想直接看源代码的可以点击这里 大致思路是:获取一个页面的的html---->使用正则表达式提取出图片hash值并进行base64解码--->将解码得到的结果进行拼接替换,得到原始图片地址--->对图片地址进行请求,对返回的content进行保存--->扩展到多个页面的爬取 首先请求一个页面,我们以http://jandan.net/ooxx/page-47#comments也就是首页为例(网站会不时变动,下次可能就不是这个pa…
开始我学习爬虫的目标 ----> 煎蛋网 通过设置User-Agent获取网页,发现本该是图片链接的地方被一个js函数代替了 于是全局搜索到该函数 function jandan_load_img(b){ var d = $(b); var f = d.next("span.img-hash"); var e = f.text(); f.remove(); var c = jdPwA5ybKhQWGy2rZybAF2StIBxrQ6NvYC(e, "pAqWmGD1Gs…
前几天刚学了python网络编程,书里没什么实践项目,只好到网上找点东西做. 一直对爬虫很好奇,所以不妨从爬虫先入手吧. Python版本:3.6 这是我看的教程:Python - Jack -Cui -CSDN 大概学了一下urllib,beautifulsoup这两个库,也看了一些官方文档,学会了这两个库的大概的用法. urllib用来爬取url的内容,如html文档等.beautifulsoup是用来解析html文档,就像js的DOM操作一样.简单流程如下: from urllib imp…
今天, 试着爬取了煎蛋网的图片. 用到的包: urllib.request os 分别使用几个函数,来控制下载的图片的页数,获取图片的网页,获取网页页数以及保存图片到本地.过程简单清晰明了 直接上源代码: import urllib.request import os def url_open(url): req = urllib.request.Request(url) req.add_header('user-agent','Mozilla/5.0 (Windows NT 10.0; Win…
import urllib.request import os def url_open(url): req = urllib.request.Request(url) req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0") response = urllib.request.urlopen(url) h…
前面介绍了爬虫框架的一个实例,那个比较简单,这里在介绍一个实例 爬取 煎蛋网 妹子图,遗憾的是 上周煎蛋网还有妹子图了,但是这周妹子图变成了 随手拍, 不过没关系,我们爬图的目的是为了加强实战应用,管他什么图了先爬下来再说. 言归正传 这个实例,主要是讲将图片爬了下来,保存到本地,这个在上周已经实现了,这周有进一步做了讲图片信息保存到了数据库中. 代码结构 如上图 common 用来存放共代码,如上篇对数据库的操作进行了封装,这里直接就放到了common 文件夹下,方便调用. 紧接着下面两个文件…
selenium爬取煎蛋网 直接上代码 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as ES import requests import urllib.requ…
煎蛋网在反爬虫方面做了不少工作,无法通过正常的方式爬取,比如用下面这段代码爬取无法得到我们想要的源代码. import requests url = 'http://jandan.net/ooxx' print requests.get(url).text 执行上述代码,你得到的结果应该跟我一样: 煎蛋网应该是通过检测headers来判断是否爬虫,要想获取正常的源代码,需要伪装成浏览器. # -*- coding: utf-8 -*- import re import requests from…
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/pip install wheelpip install lxmlpip install pyopensslpip install Twistedpip install pywin32pip install scrapy scrapy startproject jandan 创建项目cd jandancd jandan items.py 存放数据pipelines.py 管道文件 由于煎蛋网有反爬虫措…
上篇已经介绍了 图片的爬取,后来觉得不太好,每次爬取的图片 都在一个文件下,不方便区分,且数据库中没有爬取的时间标识,不方便后续查看 数据时何时爬取的,所以这里进行了局部修改 修改一:修改爬虫执行方式 之前爬虫的执行 是通过在终端输入命令:scrapy crawl spiderName  执行 缺点: 1.需要记住并输入命令: 2.需要在终端切换到爬虫上一级目录下执行. 创建执行入口 如图 代码如下 # FileName : RunSpider.py # Author : Adil # Date…
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-08-24 10:17:28 # @Author : EnderZhou (zptxwd@gmail.com) # @Link : http://www.cnblogs.com/enderzhou/ # @Version : $Id$ import requests from bs4 import BeautifulSoup as bs import threading im…
``` py2版本: #-*- coding:utf-8 -*-#from __future__ import unicode_literimport urllib,urllib2,timeimport re,sys,osheaders={'Referer':'http://jandan.net/','User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55…
利用Python网络爬虫爬取学校官网十条标题 案例代码: # __author : "J" # date : 2018-03-06 # 导入需要用到的库文件 import urllib.request import re import pymysql # 创建一个类用于获取学校官网的十条标题 class GetNewsTitle: # 构造函数 初始化 def __init__(self): self.request = urllib.request.Request("htt…
所用Python环境为:python 3.3.2   用到的库为:urllib.request    re 废话不多说,先上代码: import urllib.request import re #获得当前页面的页数page_name def get_pagenum(url): req = urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit…
无意间看到17小说网里面有一些小说小故事,于是决定用爬虫爬取下来自己看着玩,下图这个页面就是要爬取的来源. a 这个页面一共有125个标题,每个标题里面对应一个内容,如下图所示 下面直接看最核心spiders中的代码 # -*- coding: utf-8 -*- import scrapy from k17.items import K17Item import json class A17kSpider(scrapy.Spider): name = '17k' allowed_domains…
学习爬虫有一段时间了,对遇到的一些问题进行一下总结. 爬虫流程可大致分为:请求网页(request),获取响应(response),解析(parse),保存(save). 下面分别说下这几个过程中可以出现的问题: 一.请求网页:向网站服务器发送请求 你可以这样理解,你在浏览器输入xxjpg.com,告诉这个网站,我想看你的内容,然后网站服务器收到这个请求后,会分析这个请求是否是允许的,如果是,则返回内容给你的浏览器,以源码形式呈现. 可能存在的问题: 网络请求不成功 分析: a.本地网络不稳定…
深圳公租房轮候库已经朝着几十万人的规模前进了,这是截至16年10月之前的数据了,贴上来大家体会下 所以17年已更新妥妥的10W+ 今天就拿这个作为爬虫的练手项目 1.环境准备: 操作系统:win10 python版本:python3.5.3 开发工具:sublime 3 python需要安装的库: anaconda 没安装的可以去https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/这里下载,国内镜像比较快: Requests    urllib的…
嘿嘿嘿! 嘿嘿嘿! 福利一波, 之前看小甲鱼的python教学视频的时候, 看到上面教的爬虫, 爬美女图片的, 心很痒痒, 但是不知道为啥, 按照视频一个字一个字敲的代码,总是报错, 有一天花了 一下午的时间, 一个字母一个字母 对过去, 发现没有错, 就是爬不下来- -.  后来 在交流群里问大神, 大神们,说代码时间太久 不能用了, 然后就放弃了, 后来一段时间后又捡起来了. 在这 首先感谢我们组组长的指点, 同时还得感谢崔庆才大佬的教程. 老版本的源代码就不发了, 之所以不能爬, 是因为出…
这次爬取的网站是糗事百科,网址是:http://www.qiushibaike.com/hot/page/1 分析网址,参数''指的是页数,第二页就是'/page/2',以此类推... 一.分析网页 网页图片 然后明确要爬取的元素:作者名.内容.好笑数.以及评论数量 每一个段子的信息存放在'div id="content-left"'下的div中 爬取元素的所在位置 二.爬取部分 工具: Python3 requests xpath 1.获取每一个段子 # 返回页面的div_list…
第一次爬取的网站就是豆瓣电影 Top 250,网址是:https://movie.douban.com/top250?start=0&filter= 分析网址'?'符号后的参数,第一个参数'start=0',这个代表页数,'=0'时代表第一页,'=25'代表第二页...以此类推 一.分析网页: 网页图片 明确要爬取的元素 :排名.名字.导演.评语.评分,在这里利用Chrome浏览器,查看元素的所在位置 每一部电影信息都在<li></li>当中 爬取元素的所在位置 分析完要爬…
今天,花了一个晚上的时间边学边做,搞出了我的第一个爬虫.学习Python有两个月了,期间断断续续,但是始终放弃,今天搞了一个小项目,有种丰收的喜悦.废话不说了,直接附上我的全部代码. # -*- coding:utf-8 -*- __author__ = 'Young' import re,urllib #urllib : 网页访问,返回网页的数据.内容 def my_get(ID):# 封装成函数方便调用 html = urllib.urlopen("https://read.douban.c…
准备工作:安装requests和BeautifulSoup4.打开cmd,输入如下命令 pip install requests pip install BeautifulSoup4 打开我们要爬取的页面,这里以新浪新闻为例,地址为:http://news.sina.com.cn/china/ 按F12打开开发人员工具,点击左上角的图片,然后再页面中点击你想查看的元素: 我点击了新闻标题处的元素,查看到该元素为class=news-item的元素: 在这里,我们要获取新闻的时间,标题和链接,查看…
from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, datetime import base64, json, pymysql from fontTools.ttLib import TTFont ua = UserAgent() class CustomException(Exception): def __init__(self, status, ms…
爬取的页面为https://book.qidian.com/info/1010734492#Catalog 爬取的小说为凡人修仙之仙界篇,这边小说很不错. 正文的章节如下图所示 其中下面的章节为加密部分,现在暂时无法破解加密的部分.ε=(´ο`*)))唉.. 下面直接上最核心的代码(位于spiders中的核心代码) # -*- coding: utf-8 -*- import scrapy from qidian.items import QidianItem import enum class…
楼主准备爬取此页面的小说,此页面一共有125章 我们点击进去第一章和第一百二十五章发现了一个规律 我们看到此链接的  http://www.17k.com/chapter/271047/6336386.html ->http://www.17k.com/chapter/271047/6336510.html 6336386依次递增到6336510 我们根据此灵感 得到下面的spiders核心的代码 # -*- coding: utf-8 -*- import scrapy from k17.it…
待爬取的网页地址为https://maoyan.com/board/4,本次以requests.BeautifulSoup css selector为路线进行爬取,最终目的是把影片排名.图片.名称.演员.上映时间与评分提取出来并保存到文件. 初步分析:所有网页上展示的内容后台都是通过代码来完成的,所以,不管那么多,先看源代码 F12打开chrome的调试工具,从下面的图可以看出,实际上每一个电影选项(排名.分数.名字等)都被包括在dd标签中. 为了能把这些影片信息爬取出来,可以有以下两种思路.…
这次的主要的目的是从淘宝的搜索页面获取商品的信息.其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到.主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合的很紧密,剥离数据有一定的难度. 然后将获取的信息写入excel表格保存起来,这次只爬取了前面10页 的内容.在运行代码的过程中发现,30页后面的数据有问题,出现了手机价格为0的情况,这是不符合实际的,码也没有写错误处理的代码. 这次先写个粗略的,有点凌乱的感觉,下次有时间再系统的整理整理吧. 这是…
爬虫四部曲,本人按自己的步骤来写,可能有很多漏洞,望各位大神指点指点 1.创建项目 scrapy startproject xiaohuawang scrapy.cfg: 项目的配置文件xiaohuawang/: 该项目的python模块.之后您将在此加入代码.xiaohuawang/items.py: 项目中的item文件.xiaohuawang/pipelines.py: 项目中的pipelines文件.xiaohuawang/settings.py: 项目的设置文件. 2.进入xiaohu…
前段时间看了点Python的语法以及制作爬虫常用的类库,于是动手制作了一个爬虫尝试爬取一些炉石原画图片.本文仅记录对特定目标网站的分析过程和爬虫代码的编写过程.代码功能很局限,无通用性,仅作为一个一般爬虫程序提供参考. 要爬取的网站入口页面是:https://hearthstone.gamepedia.com/Full_art.网页上半部分的<li>标记了每个炉石资料片图片的名称(其实是锚点连接),通过这些名称就可以获得各个资料片的专题链接,比如,冠军的试炼的专题资料片对应的网址为:https…