
python爬虫
文章平均质量分 56
冬天不下雪i
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程
一个CPU在同一个时间片,只能执行一个任务。并行 : 多个CPU同时执行多个任务(CPU >= 任务数)C10KIntel 超线程 : 一个CPU核心,可以有两个任务执行单元AMD并发 : 单个CPU需要执行多个任务 (CPU < 任务数)多进程 :multiprocessing 并行每个进程都有自己独立的内存空间,不同进程不能共享内存空间,所以多进程的任务开销太大。多...原创 2018-11-23 09:55:33 · 96 阅读 · 0 评论 -
selenium PhantomJS Fiddler使用
1 通过Python调用浏览器解析页面,处理动态数据加载(AJAX、JavaScript)selenium 可以执行浏览器的平台,并且可以执行浏览器的各种动作事件PhantomJS 就是一个无界面headless的浏览器Chrome 有界面的浏览器Selenium + PhantomJSSelenium + Chrome导入webdriverfrom selenium import...原创 2018-11-23 10:04:11 · 311 阅读 · 0 评论 -
scrapy 框架
函数 - 类 - 模块 - 包 - 框架1.发送请求,获取响应 send_request(request)urllib2、requests2. 解析响应,提取数据 parse_page(response)re、xpath、bs4、jsonpath3. 保存数据 save_data(item)mysql、redis、mongodb、json、csv、xmlScrapy 提供了三大...原创 2018-11-23 10:10:44 · 150 阅读 · 0 评论 -
Scrapy总结
scrapy中默认发送get请求 : 不带参数start_requests: 指定第一批发送带参数的请求方式start_requests()方法用以处理 start_urls里的每个请求发送方式,可以重写该方法自定义处理。def start_requests(self): for url in self.start_urls: yield scrapy.Request(url,...原创 2018-11-25 20:53:24 · 133 阅读 · 0 评论 -
Scrapy框架Spider类和CrawlSpider类
Scrapy处理翻页数据抓取三种方案:根据业务场景灵活选择。分析网页url地址变化规律,在通过自增量拼接完整的url,发送请求获取响应,可以根据响应内容 或 响应状态码 做为停止条件。适合动态页面 json 文件的抓取,不依赖网页 标签分析网页下一页链接,并提取链接发送请求获取响应,再判断是否是最后一页做为停止条件。适合 html 文件的抓取,依赖网页 标签对于页码经...原创 2018-11-25 09:31:19 · 352 阅读 · 0 评论 -
selenium
selenium里发送的所有的字符串操作都是Unicode原创 2018-11-29 11:17:51 · 138 阅读 · 0 评论 -
Scrapy在PyCharm中直接执行
直接在PyCharm中执行Scrapy代码:在项目目录新建一个.py文件原创 2019-03-21 18:49:45 · 457 阅读 · 0 评论 -
MongoDB数据库
SQL:(MySQL、Oracle、SQL Server、DB2)高度事务性的场景,银行、会计、贸易、库管,需要大量原子性操作数据存储要求有规范的多表结构设计,预定义明确的字段数据价值高,对安全和稳定性要求高需要持久化存储的 “冷数据”(不需要经常读写的数据)需要通过SQL语句支持的存储场景NoSQL:Redis key:value(string、list、hash、set、...原创 2018-11-17 21:14:17 · 238 阅读 · 0 评论 -
数据提取之JSON与JsonPATH
json在线解析网站:http://www.json.cn/#import jsonjson模块提供了四个功能:dumps、dump、loads、load,用于字符串 和 python数据类型间进行转换。1 . json.loads()把json格式字符串解码转换成Python对象 从json到python的类型转换对照如下:2 . json.dumps()实现python类型转化...原创 2018-11-17 10:02:05 · 495 阅读 · 0 评论 -
HTTP请求流程
HTTP又称作超文本传输协议,主要用于网络传输超文本数据到本地浏览器的传送协议一、先了解一下域名的组成?1.URL: 统一资源定位符,即网页地址,是互联网上标准的资源访问地址,每个文件都有一个唯一的url2.域名地址的组成: http://www.baidu.com/index.html;user?id=5#commenthttp: //? ? www. baidu.com? ? :...原创 2018-11-16 15:37:46 · 128 阅读 · 0 评论 -
爬虫基本常识
json.loads() : 将 json字符串 转为对应的 Python数据类型json.dumps() : 将Python数据类型 转为对应的 Json字符串format 格式化输出,不需要指定类型 print('[INFO]:正在发送请求{}...'.format(url))timeout=3 三秒内没有响应就跳过response = urllib2.urlopen(requ...原创 2018-11-14 08:55:19 · 247 阅读 · 0 评论 -
爬虫(Py2和Py3区别)
什么是字符编码?计算机里的所有数据,本质都是二进制二进制 0b01100001 十进制 97 通过 ASCII编码表 对应字符 ‘a’简体中文: gb2312、gbk、gb18030, cp936 ,code page 936,一个汉字2个字节繁体中文: Big5日文:Shift-jis诞生了 Unicode编码,包含了世界上所有国家的字符,对编码进行了大一统。 每个字符占用 3~...原创 2018-11-12 11:00:14 · 439 阅读 · 0 评论 -
爬虫原理(GET\POST)
静态页面:数据保存在网页的HTML中动态页面:数据不直接保存在HTML中,而是服务器后台单独传输数据,再渲染到页面中。动态页面获取数据,必须抓包,找出浏览器和服务器之间传递的数据(json、js、xml)GET: 可能会有查询字符串,但是一定没有表单数据(查询字符串会显示在url后面)POST: 可能会有查询字符串,但是一定有表单数据(表单数据保存在请求体里发送)匹配:""" ^(.?...原创 2018-11-12 21:30:35 · 625 阅读 · 0 评论 -
常用加密
UNIX时间戳: 10位 / 13位 纯数字,今年 15开头,明年16开头md5 sha1 不可逆加密:生成的结果是 十六进制数形式的字符串,小写字母(最大是f)+数据base64 加密: 大小写字母混合+数字,且后面一两位 是 =...原创 2018-11-12 21:32:46 · 209 阅读 · 0 评论 -
转码问题
Json模块的使用注意:通过json模块的 dumps或dump 方法,将Python数据转为json字符串并写入文件,默认按Unicode样式写入,文件编码为 ascii 。如果希望按utf-8编码写入,可以添加 ensure_ascii=False 参数,则表示不按Unicode样式写入,按解释器编码 转码再写入:json_str = json.dumps(item_list, en...原创 2018-11-16 10:45:25 · 205 阅读 · 0 评论 -
多页抓取的停止条件设定
多页抓取的停止条件设定:通过提取下一页链接,并判断是否是最后一页方式通过提取总页数,再用列表推导式的方式获取所有url地址url_list = [“https://hr.tencent.com/position.php?&start=” + str(page * 10) for page in range(0, 281)]根据响应状态码(不是200就有问题) / 响应内...原创 2018-11-16 10:46:18 · 222 阅读 · 0 评论 -
re正则匹配 (finall , search , split , sub)
re_findallimport res = "abcd1234bcda4321"pattern = re.compile(r"\d+")pattern.findall(s)text = "hahaha <div id='123'>Hello 123 World</div> -mmmm- <div id='123'>Hello 456 World&...原创 2018-11-16 11:17:17 · 413 阅读 · 0 评论 -
Xpath 和 BeautifulSoup4区别对比
XPath1. 永远返回一个列表:有数据的列表 或 空列表2. XPath匹配时,下标从 1 开始3. XPath取值的 目标值 两种:-1. 指定标签的文本内容 (如取文本)-2. 指定标签的指定属性值 (如取链接)XPath取出的字符串数据,都是Unicode编码字符串。4. 如果取值的目标值很多,可以先获取所有结点列表,再迭代取值:获取结点列表node_list = "/...原创 2018-11-16 11:28:59 · 4647 阅读 · 0 评论 -
在Windows下安装Scrapy
安装环境:Windows 10 64bitPython3.6 64bit在Windows下安装scrapy是比较麻烦的,具体的安装步骤如下:需要安装的包:1: pip install wheel2: pip install lxml3: pip install PyOpenssl4: pip install twisted5: pip install pywin326: pip...原创 2019-03-22 11:55:13 · 139 阅读 · 0 评论