- 博客(83)
- 收藏
- 关注
转载 爬取股票scrapy
步骤1.建立工程和Spider scrapy startproject BaiduStocks cd BaiduStocksscrapy genspider stocks baidu.com 步骤2.编写爬虫Spider 配置stocks.py文件 修改返回页面的处理 修改对新增url爬取请求的处理 import scrapy import re cl...
2019-03-14 12:19:00 214
转载 爬取股票信息
#!/user/bin/env python # -*- conding:utf-8 -*- import re import requests from bs4 import BeautifulSoup import traceback def get_html_text(url): try: r = requests.get(url,tim...
2019-03-14 10:36:00 354
转载 巴比特网站爬取
#!/user/bin/env python # -*- conding:utf-8 -*- import requests from lxml import etree import json class BtcSpider(object): def __init__(self): self.base_url = 'https://8btc.c...
2019-03-13 22:36:00 298
转载 漫话爬取
#!/usr/bin/env python # _*_ coding: utf-8 _*_ # __author__ ='kong' from selenium import webdriver import os import time class GetCartoon(object): def __init__(self): s...
2019-03-13 22:33:00 154
转载 爬取报刊名称及地址
目标:爬取全国报刊名称及地址 链接:http://news.xinhuanet.com/zgjx/2007-09/13/content_6714741.htm 目的:练习scrapy爬取数据 学习过scrapy的基本使用方法后,我们开始写一个最简单的爬虫吧。 目标截图: 1、创建爬虫工程 1 2 $ cd ~/cod...
2019-03-13 22:30:00 739
转载 登陆人人网爬取个人信息
创建scrapy工程 1 2 cd C:\Spider_dev\app\scrapyprojects scrapy startproject renren 创建定向爬虫 1 2 cd renren scrapy genspider Person renren.com...
2019-03-13 22:28:00 1464
转载 美剧天堂前100最新
1、创建工程 1 scrapy startproject movie 2、创建爬虫程序 1 2 cd movie scrapy genspider meiju meijutt.com 3、自动创建目录及文件 4、文件说明:...
2019-03-13 22:27:00 338
转载 自动登录github
''' 一 目标站点分析 浏览器输入https://github.com/login 然后输入错误的账号密码,抓包 发现登录行为是post提交到:https://github.com/session 而且请求头包含cookie 而且请求体包含: commit:Sign in utf8:✓ authenticity_token:lbI8IJCwGslZS8qJPnof...
2019-03-12 21:03:00 198
转载 分布式爬虫
介绍 原来scrapy的Scheduler维护的是本机的任务队列(存放Request对象及其回调函数等信息)+本机的去重队列(存放访问过的url地址) 所以实现分布式爬取的关键就是,找一台专门的主机上运行一个共享的队列比如Redis,然后重写Scrapy的Scheduler,让新的Scheduler到共享队列存取Request,并且去除重复的Request请求,所以总结下来,实现...
2019-03-12 20:59:00 80
转载 爬虫框架:scrapy
介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。 但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。 ...
2019-03-12 20:56:00 227
转载 requests模块
介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装:pip3 install requests #各种请求方式:常用的就...
2019-03-12 20:41:00 95
转载 Linux基础-8 用户管理工具
8. 用户管理工具 8.1. 用户 添加用户 $useradd -m username 该命令为用户创建相应的帐号和用户目录/home/username; 用户添加之后,设置密码: 密码以交互方式创建: $passwd username 删除用户 $userdel -r username 不带...
2019-03-12 20:32:00 179
转载 Linux基础-9系统管理及IPC资源管理
9. 系统管理及IPC资源管理 9.1. 系统管理 查询系统版本 查看Linux系统版本: $uname -a $lsb_release -a 查看Unix系统版本:操作系统版本: $more /etc/release 查询硬件信息 查看CPU使用情况: $sar -u 5 10 查...
2019-03-12 20:32:00 178
转载 Linux基础-7网络工具
7. 网络工具 7.1. 查询网络服务和端口 netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 列出所有端口 (包括监听和未监听的): netstat -a 列出所有 tcp 端口:...
2019-03-12 20:31:00 113
转载 Linux基础-6性能监控
6. 性能监控 在使用操作系统的过程中,我们经常需要查看当前的性能如何,需要了解CPU、内存和硬盘的使用情况; 本节介绍的这几个工具能满足日常工作要求; 6.1. 监控CPU 查看CPU使用率 $sar -u eg: $sar -u 1 2 [/home/weber#]sar -u 1 2 Linux 2.6.35-22-generic-pae (...
2019-03-12 20:30:00 97
转载 Linux基础-5进程管理工具
5. 进程管理工具 使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程; 任何进程都与文件关联;我们会用到lsof工具(list opened files),作用是列举系统中已经被打开的文件。在linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。用好lsof命令,对日常的linux管理非常有帮助。 5.1. 查询进程 ...
2019-03-12 20:29:00 96
转载 Linux基础-4磁盘管理
4. 磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩; 4.1. 查看磁盘空间 查看磁盘空间利用大小: df -h -h: human缩写,以易读的方式显示结果(即带单位:比如M/G,如果不加这个参数,显示的数字以B为单位) $df -h /opt/app/todeav/con...
2019-03-12 20:28:00 97
转载 Linux基础-3文本处理
3. 文本处理 3.1. find 文件查找 查找txt和pdf文件: find . \( -name "*.txt" -o -name "*.pdf" \) -print 正则方式查找.txt和pdf: find . -regex ".*\(\.txt|\.pdf\)$" -iregex: 忽略大小写的正则 否定参数 ,查找所...
2019-03-12 20:27:00 279
转载 Linux基础-2文件及目录管理
2. 文件及目录管理 文件管理不外乎文件或目录的创建、删除、查询、移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询;find的参数丰富,也非常强大; 查看文件内容是个大的话题,文本的处理有太多的工具供我们使用,在本章中只是点到即止,后面会有专门的一章来介绍文本的处理工具; 有时候,需要给文件创建一个别名,我们需要用到ln,使用这个别名和使用原文件是相同的效果;...
2019-03-12 20:26:00 119
转载 Linux基础-1使用命令帮助
1. 学会使用命令帮助 1.1. 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们; 在只记得部分命令关键字的场合,我们可通过man -k来搜索; 需要知道某个命令的简要说明,可以使用whatis;而更详细的介绍,则可用inf...
2019-03-12 20:25:00 131
转载 爬取京东商城商品信息
from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR from selenium.webdriver.common.keys imp...
2019-03-12 20:21:00 452
转载 selenium模块
介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 from selenium import webdriver browser=webdriver.C...
2019-03-12 20:20:00 58
转载 自动登录163邮箱并发送邮件
#注意:网站都策略都是在不断变化的,精髓在于学习流程。下述代码生效与2017-11-7,不能保证永久有效 from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.web...
2019-03-12 20:20:00 374
转载 pyquery模块
#_*_coding:utf-8_*_ __author__ = 'Linhaifeng' ''' 强大而又灵活的网页解析库,如果你觉得正则写起来太麻烦,如果你觉得beutifulsoup 语法太难记,如果你熟悉jquery的语法,那么pyquery是最佳选择 安装pyquery pip3 install pyquery ''' html=''' &...
2019-03-12 20:12:00 113
转载 BeautifulSoup模块
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 你可能在寻找Beautiful Soup3的文档,Beautiful Soup 3 目前已经停止开发,官网推荐在现在的项目中使用Beautiful Soup 4,...
2019-03-12 20:11:00 86
转载 爬取校花网视频
import requests import re import time import hashlib def get_page(url): print('GET %s' %url) try: response=requests.get(url) if response.status_code == 200: ...
2019-03-12 20:05:00 186
转载 爬虫基本原理
爬虫是什么 #1、什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。 #2、互联网建立的目的? 互联网的核心价值在于数据的共享/传递:数据是存放于一台台计算机上的,而将计算机互联到一起的目的就是为了能够方便彼此之间的数据共享/传递,否则你只能拿U盘去别人的计算机上拷贝数据了。 #3、什么是上...
2019-03-12 20:04:00 137
转载 python学习笔记-50 使用SQLAlchemy
数据库表是一个二维表,包含多行多列。把一个表的内容用Python的数据结构表示出来的话,可以用一个list表示多行,list的每一个元素是tuple,表示一行记录,比如,包含id和name的user表: [ ('1', 'Michael'), ('2', 'Bob'), ('3', 'Adam') ] Python的DB-API返回的数据结构就是像...
2019-03-12 20:00:00 60
转载 python学习笔记-49 使用MySQL
MySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite。 此外,MySQL内部有多种数据库引擎,最常用的引擎是支持数据库事务的InnoDB。 安装MySQL 可以直接从MySQL官方网站下载最新的Community S...
2019-03-12 19:59:00 85
转载 python学习笔记-48 使用SQLite
SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。 Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。 在使用SQLite前,我们先要搞清楚几个概念: 表是数据库中存放关系数据的集合,一个数据库...
2019-03-12 19:59:00 84
转载 python学习笔记-47 UDP编程
TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。 虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用UDP协议。 我们来看看如何通过UDP协议传输数据。和TCP类似,使...
2019-03-12 19:58:00 75
转载 python学习笔记-46 TCP编程
Socket是网络编程的一个抽象概念。通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。 客户端 大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。 举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。...
2019-03-12 19:57:00 95
转载 python学习笔记-45 正则表达式
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不...
2019-03-12 19:56:00 93
转载 python学习笔记-44 分布式进程
在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。 Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于manag...
2019-03-12 19:54:00 82
转载 python学习笔记-43 进程 vs. 线程
要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。 如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。 如果用多线程实现Master-Worker,主线程就是Master,其他线程就是Worker。 多进程模式最大的...
2019-03-12 19:53:00 103
转载 python学习笔记-42 ThreadLocal
在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就是在函数调用的时候,传递起来很麻烦: def process_student(name): std = Student(name) # std是局部变量,但是每个函数都要用它,因此...
2019-03-12 19:52:00 100
转载 python学习笔记-41 多线程
多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。 Python的标准库提供了两个模块:_thread和threading,_thre...
2019-03-12 19:51:00 89
转载 python学习笔记-40 多进程
要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID...
2019-03-12 19:50:00 88
转载 python学习笔记-39 序列化
程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'。 我们把变量从内存中变成可存储或传输的...
2019-03-12 19:49:00 53
转载 python学习笔记-38 操作文件和目录
如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。 打开Python交互式命令行,我们来看看如何使用os模块的基本功能: >>> ...
2019-03-12 19:48:00 92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人