随笔分类 -  爬虫--requests

摘要:多线程爬虫案例--json, Queue, Thread, 阅读全文
posted @ 2018-07-11 00:15 阿谋 阅读(805) 评论(0) 推荐(0)
摘要:requests相应中文乱码 阅读全文
posted @ 2018-07-06 02:58 阿谋 阅读(3043) 评论(0) 推荐(0)
摘要:SSL证书 方法一: 在py文件添加以下两行代码即可: 原理不知道, 亲测可用 ex: 方法二: 在requests请求行添加参数, verify=False 但是这样会打印警告信息, 警告信息内容为: 建议我们给它指定证书 屏蔽警告方式1: 原理: 通过设置忽略警告的方式来屏蔽这个警告(这话有点二 阅读全文
posted @ 2018-06-29 18:08 阿谋 阅读(255) 评论(0) 推荐(0)
摘要:妹子图爬取 页面链接 感谢崔大佬: 原文链接 正则实现代码: 1 import requests 2 import re 3 import os 4 import random 5 6 7 class mzitu(): 8 9 def __init__(self): 10 self.headers 阅读全文
posted @ 2018-06-20 22:53 阿谋 阅读(367) 评论(0) 推荐(0)
摘要:为何大量网站不能抓取?爬虫突破封禁的6种常见方法 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots)。最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表单或其他网页 阅读全文
posted @ 2018-06-19 12:21 阿谋 阅读(962) 评论(0) 推荐(0)
摘要:案例:使用正则表达式的爬虫 现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了。 下面我们一起尝试一下爬取内涵段子网站: http://www.neihan8.com/article/list_5_1.html 打开之后,不难看到里面一个一个灰常有内涵的段子,当你进行 阅读全文
posted @ 2018-06-06 02:38 阿谋 阅读(644) 评论(0) 推荐(1)
摘要:简单用法 chardet的使用非常简单,主模块里面只有一个函数detect。detect有一个参数,要求是bytes类型。bytes类型可以通过读取网页内容、open函数的rb模式、带b前缀的字符串、encode函数等途径获得。 示例代码: 如上所示,detect函数返回一个字典,字典里有两个key 阅读全文
posted @ 2018-06-06 01:44 阿谋 阅读(8866) 评论(0) 推荐(1)
摘要:页面解析和数据提取 一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值。内容一般分为两部分,非结构化的数据 和 结构化的数据。 非结构化数据:先有数据,再有结构, 结构化数据:先有结构、再有数据 不同类型的数据,我们需要采用不同的方式来处理。 非结构化的数据处理 正则表达式 阅读全文
posted @ 2018-06-05 22:22 阿谋 阅读(470) 评论(0) 推荐(0)
摘要:cookie详解: --> 原文链接 HTTP cookies,通常又称作"cookies"早期Web开发面临的最大问题之一是如何管理状态。服务器端没有办法知道两个请求是否来自于同一个浏览器。那时的办法是在请求的页面中插入一个token,并且在下一次请求中将这个token返回(至服务器)。这就需要在 阅读全文
posted @ 2018-06-05 03:40 阿谋 阅读(1259) 评论(0) 推荐(0)
摘要:Cookie Cookie 是指某些网站服务器为了辨别用户身份和进行Session跟踪,而储存在用户浏览器上的文本文件,Cookie可以保持登录信息到用户下次与服务器的会话。 Cookie原理 HTTP是无状态的面向连接的协议, 为了保持连接状态, 引入了Cookie机制 Cookie是http消息 阅读全文
posted @ 2018-06-05 03:10 阿谋 阅读(1343) 评论(0) 推荐(0)
摘要:Handler处理器 和 自定义Opener opener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构建好的)。 但是基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级 阅读全文
posted @ 2018-06-05 01:55 阿谋 阅读(272) 评论(0) 推荐(0)
摘要:ProxyHandler处理器(代理设置) 使用代理IP,这是爬虫/反爬虫的第二大招,通常也是最好用的。 很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个IP的访问。 所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁 阅读全文
posted @ 2018-06-05 01:55 阿谋 阅读(381) 评论(0) 推荐(0)
摘要:HTTPPasswordMgrWithDefaultRealm() HTTPPasswordMgrWithDefaultRealm()类将创建一个密码管理对象,用来保存 HTTP 请求相关的用户名和密码,主要应用两个场景: ProxyBasicAuthHandler(代理授权验证) 如果我们使用之前 阅读全文
posted @ 2018-06-05 01:55 阿谋 阅读(940) 评论(0) 推荐(0)
摘要:.bash_profile文件存在于用户主目录下,绝对路径为/home/$name/.bash_profile.bash_profile文件是隐藏文件,里面包含的是用户的用户的环境变量。 注意: 这个文件不一定存在,如果存在,就在 ~/ ,即 ~/.bash_profile但也很可能不存在,这时创建 阅读全文
posted @ 2018-06-05 00:50 阿谋 阅读(703) 评论(0) 推荐(0)
摘要:爬取网址: 完整代码: import sys from urllib import request, parse import ssl ssl._create_default_https_context = ssl._create_unverified_context url = "https:// 阅读全文
posted @ 2018-06-04 17:30 阿谋 阅读(264) 评论(0) 推荐(0)
摘要:python3爬取Post页面时, 报以下错误 "POST data should be bytes or an iterable of bytes. It cannot be of type str." 解决方案: 需要在urlencode语句后加encode(encoding='UTF8') 阅读全文
posted @ 2018-06-04 17:21 阿谋 阅读(190) 评论(0) 推荐(0)
摘要:错误描述: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777) 解决方法 Python 升级到 2.7.9 之后引入了一个新特性,当使用urllib.urlopen打开一个 ht 阅读全文
posted @ 2018-06-04 17:10 阿谋 阅读(1716) 评论(0) 推荐(0)
摘要:Get方式 GET请求一般用于我们向服务器获取数据,比如说,我们用百度搜索传智播客:https://www.baidu.com/s?wd=传智播客 浏览器的url会跳转成如图所示: https://www.baidu.com/s?wd=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%A 阅读全文
posted @ 2018-06-04 01:31 阿谋 阅读(1233) 评论(0) 推荐(0)
摘要:python3 抓取贴吧页面 1 from urllib import request, parse 2 import sys 3 4 5 def loadPage(url, filename): 6 """ 7 作用: 根据url发送请求, 获取服务器相应文件 8 url: 需要爬取的url地址 阅读全文
posted @ 2018-06-04 00:47 阿谋 阅读(225) 评论(0) 推荐(0)
摘要:URL编码格式函数描述: 注: urllib2 在python3中变为 urllib.request注: urllib.urlencode 在python3中变为 urllib.parser.urlencode 编码: 编码工作使用的urllib.parse.urlencode()函数, 帮我们将k 阅读全文
posted @ 2018-06-03 15:43 阿谋 阅读(242) 评论(0) 推荐(0)