鱼C论坛

 找回密码
 立即注册
查看: 21085|回复: 102

[原创] 自制煎蛋网妹子图的爬取,与小甲鱼做的有些区别

[复制链接]
发表于 2017-5-25 21:07:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这些是前面的代码,回复有下面的代码


from selenium import webdriver
import os
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import urllib.request
from selenium.webdriver.support import expected_conditions as EC
import re
import socket


socket.setdefaulttimeout(10.0)
# 缓存
browser = webdriver.PhantomJS(service_args=['--disk-cache=true'])

wait = WebDriverWait(browser, 10)


# --disk-cache=true
#模仿点击事件
def search():
    try:
        submit = WebDriverWait(browser, 10).until(
                EC.element_to_be_clickable(
                        (By.CSS_SELECTOR, '#comments > div:nth-child(4) > div > a.previous-comment-page')))
        submit.click()

    except:
        pass

#初始界面的页码
def get_pagenum(url):
    html = open_url(url).decode('UTF-8')
    p = re.compile(r'.*?current-comment-page">\[(.*?)]</span>', re.S)
    num = re.findall(p, html)[0]
    return num

#保存图片
def saveimage(floder, imageattr):
    for each in imageattr:
        filename = each.split('/')[-1]
        print('正在保存图片%s' % filename)
        try:
            urllib.request.urlretrieve(each, filename, schedule)
        except:
            pass

#下载图片的过程用xx%表示
def schedule(a, b, c):
    """
    :param a:已经下载的数据块
    :param b: 数据块的大小
    :param c: 远程文件的大小
    :return:返回百分数
    """
    per = 100.0 * a * b / c
    if per > 100:
        per = 100
    print('%.2f%%' % per)

#利用获取的html利用正则搜索到图片地址并放到列表中
def find_images(html):
    try:
        p = re.compile('<p>.*?<img src="(.*?\.jpg)".*?</p>', re.S)
        imagelist = re.findall(p, html)
        imageattr = []
        for each in imagelist:
            imagelist = 'http:' + each
            imageattr.append(imagelist)
        return imageattr
    except:
        pass

#打开url返回源代码
def open_url(url):
    # 读取url
    req = urllib.request.Request(url)
    req.add_header('User_Agent',
                   'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36')
    try:
        response = urllib.request.urlopen(url)
        html = response.read()
        return html
    except:
        pass
游客,如果您要查看本帖隐藏内容请回复


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-5-26 10:13:13 | 显示全部楼层
有问题大家踊跃提问。尽力回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-29 12:28:05 | 显示全部楼层
hhhhhhhh
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-31 21:08:21 | 显示全部楼层
爬煎蛋网用selenium实在有点小题大做了
煎蛋网的信息太容易爬了,一个请一个一个正则就搞定了,selenium适合在需要加载网页的爬虫中使用,因为selenium的效率不是很高,而且需要启动 的资源多
不过当做练手的话随便什么网站都可以用selenium
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-1 09:32:17 | 显示全部楼层
gopythoner 发表于 2017-5-31 21:08
爬煎蛋网用selenium实在有点小题大做了
煎蛋网的信息太容易爬了,一个请一个一个正则就搞定了,selenium适 ...

selenium适合加载网页的爬虫中使用是什么意思啊?像淘宝一样的?网页不都是需要加载的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-6-1 13:34:15 | 显示全部楼层
不错啊  谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-2 16:33:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-2 16:34:32 | 显示全部楼层
刚刚接触,我还不是很理解selenium,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-4 17:44:53 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-11 06:58:12 | 显示全部楼层
我看看楼主写的好东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-16 23:08:01 | 显示全部楼层
好东西 点个赞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-18 09:26:19 | 显示全部楼层
求分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-25 11:05:57 | 显示全部楼层
新手上路 老司机求带
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-9 13:02:24 | 显示全部楼层
酷酷酷酷酷酷
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-9 15:06:43 | 显示全部楼层
楼主,我这是什么问题。phantomjs已经添加到系统目录了,selenuim是版本3的
QQ图片20170809150501.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-10 09:13:30 | 显示全部楼层
xieyue7737 发表于 2017-8-9 15:06
楼主,我这是什么问题。phantomjs已经添加到系统目录了,selenuim是版本3的

不是很清楚,不过我看到phantimjs的位置有问题的字样。你把那个exe文件移到python安装目录下面。就是有lib scripts那个目录下试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-14 13:33:39 | 显示全部楼层
楼主购买了相关爬虫的视频,内容包括下面这些
一、环境篇
Python3+Pip环境配置
MongoDB环境配置
Redis环境配置
MySQL环境配置
Python多版本共存配置
Python爬虫常用库的安装

二、基础篇
爬虫基本原理
Urllib库基本使用
Requests库基本使用
正则表达式基础
BeautifulSoup详解
PyQuery详解
Selenium详解

三、实战篇
使用Requests+正则表达式爬取猫眼电影
分析Ajax请求并抓取今日头条街拍美图
使用Selenium模拟浏览器抓取淘宝商品美食信息
使用Redis+Flask维护动态代理池
使用代理处理反爬抓取微信文章
使用Redis+Flask维护动态Cookies池

四、框架篇
PySpider框架基本使用及抓取TripAdvisor实战
PySpider架构概述及用法详解
Scrapy框架的安装
Scrapy框架基本使用
Scrapy命令行详解
Scrapy中选择器的用法
Scrapy中Spiders的用法
Scrapy中Item Pipeline的用法
Scrapy中Download Middleware的用法
Scrapy爬取知乎用户信息实战
Scrapy+Cookies池抓取新浪微博
Scrapy+Tushare爬取微博股票数据

五、分布式篇
Scrapy分布式原理及Scrapy-Redis源码解析
Scrapy分布式架构搭建抓取知乎
Scrapy分布式的部署详解


我已经看完了全部。是我看爬虫相关视频最好的一个系列,干货满满。需要百度云的私我,有偿。。宝宝也是花了钱买的。。。。一口价。5元。先转钱。后发链接。作为小甲鱼论坛的vip用户在此宣誓,诚信交易!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-8-14 17:48:46 | 显示全部楼层
淡淡冰咖啡 发表于 2017-8-14 13:33
楼主购买了相关爬虫的视频,内容包括下面这些
一、环境篇
Python3+Pip环境配置

忘记写联系方式了。qq:695428616   
微信:huajunlin2010
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-17 19:36:40 | 显示全部楼层
third day
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-20 08:36:51 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 02:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表