![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
一起学python吧
你学废了吗
展开
-
python爬虫之网站robots协议的重要性解析-爬虫偏方
在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的 robots.txt 文件,有时会给你打开另一扇抓取之门。 写爬虫有很多苦恼的事情,比如: 1.访问频次太高被限制; 2.如何大量发现该网站的 URL; 3.如何抓取一个网站新产生的 URL,等等;这些问题都困扰着爬虫选手,如果有大量离散 IP 和账号,这些都不是问题,但是绝大部分公司都不具备这个条...原创 2020-01-08 23:38:27 · 388 阅读 · 0 评论 -
urllib2 的HTTPBasicAuthHandler处理器(Web客户端授权验证)
有些Web服务器(包括HTTP/FTP等)访问时,需要进行用户身份验证,爬虫直接访问会报HTTP 401 错误,表示访问身份未经授权:urllib2.HTTPError: HTTP Error 401: Unauthorized如果我们有客户端的用户名和密码,我们可以通过下面的方法去访问爬取:import urllibimport urllib2# 用户名user = "用户...原创 2019-08-19 22:23:15 · 999 阅读 · 0 评论 -
爬虫之requests + json爬取电影数据
import requestsimport jsonfrom parse import parse_urlclass DoubanSpider(object): # 构造初始url def __init__(self): # 注意,此url是已经删除掉callback参数的,因为这里要获取json数据 self.origin_url = ...原创 2019-06-26 20:43:58 · 1465 阅读 · 0 评论 -
xpath基本用法(掌握这几点基本可以应对80%的从html获取数据的问题)
1. xpath ---- 是一门从html中提取数据的语言2. xpath语法 ---- 介绍语法之前,推荐一款google浏览器的插件 (xpath helper),这款插件可以定位html中的数据 (1)选择节点(标签) ---- '/html/body/div’ : 能够选中html下的bo...原创 2019-06-27 10:40:37 · 292 阅读 · 0 评论 -
爬虫之requests+xpath的简单使用---提取html中的数据
这里获取电影名称的时候有点复杂了,使用正则的话可能会相对简单一些import requestsfrom lxml import etreeurl = "https://movie.douban.com/chart"headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KH...原创 2019-06-27 17:01:26 · 4528 阅读 · 0 评论 -
爬虫之requests+lxml+json获取糗百某分类数据(返回数据是html)
import requests, jsonfrom lxml import etreeclass QiubaiSpider(object): # 初始化url def __init__(self): self.origin_url = "https://www.qiushibaike.com/hot/page/{}/" self.h...原创 2019-06-27 20:11:49 · 550 阅读 · 0 评论 -
python scrapy 之最简单使用
我使用的是linux系统,因为有其他的项目,特创建虚拟环境单独使用scrapy1, 创建虚拟环境mkvirtualenv scrapy_test(虚拟环境名称,自己随意命名)2, 安装scrapypip install scrapy执行这一步不仅仅会安装scrapy包,而且会自动下载安装一些其他的依赖包,会稍微慢一点3,安装好以后进入虚拟环境使用命令创建爬虫项目scra...原创 2019-06-04 22:29:09 · 179 阅读 · 0 评论 -
爬虫之requests模拟用户登录人人网的过程
# 完全模拟用户登陆操作(先获取cookie,然后带上cookie去登陆)import requests# 1.到人人网登陆界面,找到登陆form表单,在这一般可以找到登陆的地址urlpost_url = "http://www.renren.com/PLogin.do"headers = { "User-Agent": "Mozilla/5.0 (iPhone; CPU iP...原创 2019-06-26 19:42:12 · 758 阅读 · 0 评论 -
爬虫之requests,json的使用------ json模块的新认知
import jsonimport requests"""https://m.douban.com/rexxar/api/v2/subject_collection/tv_american/items?os=ios&for_mobile=1&callback=jsonp1&start=0&count=18&loc_id=108288&_=0...原创 2019-06-26 19:46:36 · 3393 阅读 · 0 评论 -
mongodb数据的导出和导入
mongo导出表说明:root@827995de7c7f:/# mongoexport --helpUsage: mongoexport <options>Export data from MongoDB in CSV or JSON format.See http://docs.mongodb.org/manual/reference/program/mongoe...原创 2020-02-25 18:04:53 · 501 阅读 · 0 评论 -
urllib2发送get数据
# -*- coding:utf-8 -*-import urllibimport urllib2url = "http://www.baidu.com/s"headers = {"User-Agent" : "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, li...原创 2019-08-17 17:28:50 · 361 阅读 · 0 评论 -
python 爬虫之网站robots协议的重要性
在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的 robots.txt 文件,有时会给你打开另一扇抓取之门。 写爬虫有很多苦恼的事情,比如: 1.访问频次太高被限制; 2.如何大量发现该网站的 URL; 3.如何抓取一个网站新产生的 URL,等等;这些问题都困扰着爬虫选手,如果有大量离散 IP 和账号,这些都不是问题,但是绝大部分公司都不具备这个条...原创 2019-08-17 16:43:36 · 521 阅读 · 0 评论 -
【scrapy ip代理池】如何解决ip被限制的问题
1、首先写一个脚本proxies.py 自动获取代理ip# *-* coding:utf-8 *-*import requestsfrom bs4 import BeautifulSoupimport lxmlfrom multiprocessing import Process, Queueimport randomimport jsonimport timeimport r...原创 2019-08-17 16:34:12 · 1192 阅读 · 0 评论 -
python scrapy爬虫防止ip被封的实现方案
主要策略:动态设置user agent禁用cookies设置延迟下载使用google cache使用IP地址池(Tor Project、VPN和代理IP)使用Crawlera1、创建middlewares.py scrapy代理IP、user agent的切换都是通过DOWNLOADER_MIDDLEWARES进行控制,下面我们创建middlewares.py文件。imp...原创 2019-08-17 16:31:17 · 2083 阅读 · 2 评论 -
爬虫ip被封的6个解决方法
在爬虫工作中,我们不可避免的会遇到网页的反爬封锁,所以就有了爬虫的攻防,在攻和守之间两股力量不断的抗衡。接下来就讲讲使用爬虫时ip限制问题的六种方法! 方法1. 1、IP必须需要,如果有条件,建议一定要使用代理IP。 2、在有外网IP的机器上,部署爬虫代理服务器。 3、你的程序,使用轮训替换代理服务器来访问想要采集的网站。 好处: 1、程序逻辑变化小,只需要代理...原创 2019-08-17 16:23:04 · 19457 阅读 · 0 评论 -
urllib2的get方法小案例(贴吧)
#!/usr/bin/env python# -*- coding:utf-8 -*-import urllibimport urllib2def loadPage(url, filename): """ 作用:根据url发送请求,获取服务器响应文件 url: 需要爬取的url地址 filename : 处理的文件名 ...原创 2019-08-19 10:08:35 · 107 阅读 · 0 评论 -
urllib2自定义handler
1-自定义handler和使用urlopen方法得到的结果是一样的#!/usr/bin/env python# -*- coding:utf-8 -*-import urllib2# 构建一个HTTPHandler处理器对象,支持处理HTTP的请求http_handler = urllib2.HTTPHandler()# 调用build_opener()方法构建一个自定义...原创 2019-08-19 20:27:55 · 185 阅读 · 0 评论 -
urllib2自定义构建代理handler之开放代理的使用(不需要授权)
1-上一节使用自定义handeler之后,就需要直接使用urllib2.open()方法去发送请求,不能使用urllib2的urlopen方法,本节会创建一个全局opener,这样虽然使用的是自定义的handler,但是依然可以使用urllib2的urlopen()方法发送请求(和没有自定义handler时一样)#!/usr/bin/env python# -*- coding:utf...原创 2019-08-19 21:08:03 · 139 阅读 · 0 评论 -
urllib2自定义构建代理handler之私密代理的使用方法一(需要授权)
#!/usr/bin/env python# -*- coding:utf-8 -*-import urllib2# 使用私密代理的授权方法authproxy_handler = urllib2.ProxyHandler({"http": "用户名:密码@ip:端口号"})opener = urllib2.build_opener(authproxy_handler)requ...原创 2019-08-19 21:12:38 · 159 阅读 · 0 评论 -
urllib2自定义构建代理handler之公开代理的使用(不需要授权)
在https://blog.csdn.net/myli_binbin/article/details/99759031中提到,当使用自定义handler时,生成opener后,要调用opener的open方法去发送请求,这篇文章提到如何使用自定义handler后继续使用urlopen方法发送请求#!/usr/bin/env python# -*- coding:utf-8 -*-im...原创 2019-08-19 22:14:16 · 479 阅读 · 0 评论 -
urllib2自定义构建代理handler之私密代理的使用方法二(需要授权)
import urllib2import urllib# 私密代理授权的账户user = "用户名"# 私密代理授权的密码passwd = "密码"# 私密代理 IPproxyserver = "ip:端口号"# 1. 构建一个密码管理对象,用来保存需要处理的用户名和密码passwdmgr = urllib2.HTTPPasswordMgrWithDefaultRealm(...原创 2019-08-19 22:18:20 · 136 阅读 · 0 评论 -
python爬虫的urllib2库的使用
环境: python2备注:在python2中叫做urllib2,在python3中使用的是urllib.request,和前面urllib2的使用方法一样的1----urllib2的最简单使用# -*- coding=utf-8 -*-# 直接这样使用的时候,urllib2不支持构造requestimport urllib2response = urllib2.urlop...原创 2019-08-17 15:34:07 · 165 阅读 · 0 评论 -
python网络爬虫学习笔记之网站背景调研
目标网站背景调研1,检查robots.txt大部分网站几乎都有其robots.txt文件,我们可以通过此文件了解到爬去该网站时存在了哪些限制访问方式:在浏览器中输入:"http://www.xxx.com/robots.txt" 回车即可,xxx就是你要访问的域名名称2,估算网站大小目标网站的大小会影响我们如何进行爬去,如果只有几百个网页的网站,效率可能就不那么重要,但是如果拥...原创 2019-08-09 20:47:28 · 480 阅读 · 0 评论 -
python爬虫 如何做到反反爬虫,防止ip被封的一个小技巧
# -*- coding:utf-8 -*-import urllib2import randomurl = "http://www.baidu.com/"# 可以是User-Agent列表,也可以是代理列表user_agent_list = [ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv2.0.1) Geck...原创 2019-08-17 15:51:05 · 603 阅读 · 0 评论 -
python爬虫防止IP被封的一些措施
在编写爬虫爬取数据的时候,因为很多网站都有反爬虫措施,所以很容易被封IP,就不能继续爬了。在爬取大数据量的数据时更是瑟瑟发抖,时刻担心着下一秒IP可能就被封了。本文就如何解决这个问题总结出一些应对措施,这些措施可以单独使用,也可以同时使用,效果更好。伪造User-Agent在请求头中把User-Agent设置成浏览器中的User-Agent,来伪造浏览器访问。比如:head...原创 2019-08-17 16:21:41 · 1595 阅读 · 0 评论 -
爬虫IP被禁的简单解决方法
爬虫以前听上去好厉害好神秘的样子,用好了可以成就像Google、百度这样的索索引擎,用不好可以凭借不恰当的高并发分分钟崩掉一个小型网站。写到这里想到12306每年扛住的并发请求量,觉得好牛逼。爬虫和反爬虫从一直以来都是一个道高一尺魔高一丈的架势。反爬虫技术增加了爬取的难度,各路crawler的爬取过程可以说是一个和各种网站站长斗智斗勇的过程,各种解决方式可谓层出不穷,但是这里说是“简单”解决方...原创 2019-08-17 16:22:33 · 689 阅读 · 0 评论 -
urllib2的post方法小案例
#!/usr/bin/env python# -*- coding:utf-8 -*-import urllibimport urllib2# 通过抓包的方式获取的url,并不是浏览器上显示的urlurl = "http://m.youdao.com/translate"# 完整的headersheaders = { "Referer": "http://m.youd...原创 2019-08-19 09:37:15 · 1274 阅读 · 0 评论