
Python
流云浅暮
这个作者很懒,什么都没留下…
展开
-
scrapy框架异常之no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)
今天在用scrapy爬虫时,报了下面的错误:2019-01-17 16:47:18 [scrapy.dupefilters] DEBUG: Filtered duplicate request: <GET https://newhouse.fang.com/house/s/b95/> - no more duplicates will be shown (see DUPEFILT...原创 2019-01-17 17:02:30 · 11514 阅读 · 2 评论 -
Python爬虫错误之twisted.web.error.SchemeNotSupported: Unsupported scheme: b''
在使用scrapy爬虫时,出现了下面了的错误Traceback (most recent call last): File "E:\project\venv\lib\site-packages\twisted\internet\defer.py", line 1416, in _inlineCallbacks result = result.throwExceptionIntoG...原创 2019-01-07 20:05:58 · 5492 阅读 · 2 评论 -
twisted异步方式保存数据到mysql
在某些爬虫项目下,我们需要每次执行一条插入语句,就立即调用commit方法更新数据库,如果爬取时间太长,中途可能被迫中断,这样程序就不能执行close_spider中的commit。但如果在insert_db中直接加入commit,又会使程序执行变得很慢。这里就可以使用Twisted中提供的以异步方式多线程访问数据库的模块adbapi,可以显著提供程序访问数据库的效率。adbapi.Con...原创 2019-01-18 11:30:13 · 784 阅读 · 1 评论 -
Scrapy框架之Setting.py的配置详解
#项目名称,默认的USER_AGENT由它来构成,也作为日志记录的日志名BOT_NAME = 'jianshu_spider'# Scrapy搜索spider的模块列表 默认: [xxx.spiders]SPIDER_MODULES = ['jianshu_spider.spiders']#使用 genspider 命令创建新spider的模块。默认: 'xxx.spiders'NE...原创 2019-01-14 20:06:07 · 561 阅读 · 0 评论 -
scrapy分布式爬虫之Ubuntu下服务器的搭建
1.在windows下安装好分布式爬虫的相关模块,并且成功运行。 2.在Ubuntu上安装scrapy之前,需要先安装以下依赖: sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev 3.在wind...原创 2019-01-21 08:56:22 · 549 阅读 · 1 评论 -
Python爬虫之scrapy框架随机请求头中间件的设置
方法一,定义一个存放请求头的列表,并从中随机获取请求头: 获取请求头的网址http://www.useragentstring.com/pages/useragentstring.php?name=All import randomclass UserAgentDownloadMiddleware(object): USER_AGENTS = [ 'Mo...原创 2019-01-09 22:11:06 · 1819 阅读 · 0 评论 -
Python爬虫之scrapy框架中ip代理池的设置
开放代理 class IpProxyDownloadMiddleware(object): PROXIES = ['110.52.235.131:9999','110.52.235.249:9999','112.17.38.141:3128'] def process_request(self,request,spider): proxy = rando...原创 2019-01-09 22:14:34 · 6089 阅读 · 0 评论 -
scrapy报错HTTP status code is not handled or not allowed
今天在使用scrapy爬取某网站时运行时报了如下错误:可在settings.py中添加如下代码来解决此问题:HTTPERROR_ALLOWED_CODES = [403]原创 2019-03-18 16:44:41 · 7097 阅读 · 0 评论 -
Python爬虫之Chrome无头浏览器
Headless Browser(无头的浏览器)随着越来越多的web数据都是经过js处理的,对于爬虫来说就有这很大的难度,一般情我们使用selenium+phantomjs来去解析执行js,但是自2017 4月份后selenium不再维护phantojs接口,所以我么需要找一个替换的方式,好在chrome以及Firefox也提供了无界面操作方式。Headless Browser是没有图...原创 2019-01-10 21:08:32 · 2546 阅读 · 1 评论 -
scrapy回调函数传递参数
在运用scrapy框架进行爬虫时,可能需要将附加数据传递给回调函数,下面将介绍两种向回调函数传递参数的方法。1.使用 lambda方式传递参数请求的回调是在下载该请求的响应时将被调用的函数。将使用下载的Response对象作为其第一个参数调用回调函数。 def parse(self, response): a_tag_list = response.css('...原创 2018-12-25 22:31:57 · 2280 阅读 · 0 评论 -
scrapy爬虫错误笔记------twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection
今天使用scrapy爬虫的时候,运行时报了下面的错:Traceback (most recent call last): File "d:\python\lib\site-packages\scrapy\core\downloader\middleware.py", line 43, in process_request defer.returnValue((yield down...原创 2018-12-28 22:22:33 · 17966 阅读 · 5 评论 -
python(元组)
创建空元组方式1: 变量 = ()方式2: 变量 = tuple()创建单个元素的元组方式1: 变量= (值,)方式2: 变量 = 值,创建多个元素的元组方式1: 变量 = (值,值...)方式2: 变量 = 值,值... 注: tuple 元组,其实跟列表差不多,存一组数,一旦创建,不能修...原创 2018-11-30 21:04:05 · 317 阅读 · 0 评论 -
Python(列表)
创建空列表list1 = list()list2 = []快速创建列表的方式:#方法一a = []for i in range(1,10): a.append(i)print(a)#方法二b = list(range(1,10))print(b)#方法三c = [i for i in range(1,10)]print(c)[扩展]创建一个占用十个元素...原创 2018-11-28 01:08:37 · 131 阅读 · 0 评论 -
Python爬虫之爬取图片
Python爬虫中图片的爬取方式有多种多样,本文将介绍几种常见的将图片保存的方式。1.通过urllib.urlretrieve来爬取图片基础知识介绍:urllib.urlretrieve(url[, filename[, reporthook[, data]]])参数说明:url:外部或者本地url filename:指定了保存到本地的路径(如果未指定该参数,urllib...原创 2018-12-07 23:25:21 · 462 阅读 · 0 评论 -
python爬虫之代理与Cookie
代理通过此种方式会伪装自己的IP地址,服务器识别时会识别我们伪装的代理地址。from urllib import requestproxy_hander = request.ProxyHandler({ "http":"http://127.0.0.1:9743" "https":"http://127.0.0.1:9743"})open原创 2018-12-08 18:08:39 · 415 阅读 · 0 评论 -
爬虫案例之人人网账号的登录
通过cookie来实现登录。首先,F12选中preserve log(保存日志,否则只显示每次响应的链接)。然后输入登录人人,可以看到有一条POST数据发送了出去,POST的数据内容也可以看得到。然后找到下面圈中的信息,作为请求头。 代码实现:from urllib import request,errorbase_url = "http://www.renren.com/...原创 2018-12-03 21:06:54 · 1061 阅读 · 0 评论 -
python爬虫之用户验证
有些网站在打开时就会弹出提示框,直接提示你输入用户名和密码,验证成功后才能查看页面,如图所示:如果直接爬取网页信息会报错,如下面所示:from urllib import requesturl="http://localhost:8081/manager/html"response = request.urlopen(url)html = response.read().de...原创 2018-12-09 17:06:42 · 2107 阅读 · 0 评论 -
Python爬虫之pyquery获取不到元素
今天在做爬虫项目的时候出现了一个错误,通过pyquery获取不到元素。from pyquery import PyQuery as pqhtml = '''<html xmlns="http://www.w3.org/1999/xhtml"><head> <title>TEST</title></head>&..原创 2018-12-16 21:34:08 · 2440 阅读 · 0 评论 -
Python scrapy在windows下的安装
windows下的安装步骤查看Python与scrapy是否安装首先在DOS的Python命令行查看是否已安装scrapyimport scrapy查看安装的Python环境变量是否已经配置,Python是否能被够正常运行pip -V接下来进行scrapy的依赖库的安装1.安装wheelpip install wheel当出现 Successfully installe...原创 2018-12-11 11:27:45 · 202 阅读 · 0 评论 -
Python基础知识
变量命名规则帕斯卡命名法:每个单词首字母大写MyName =“aaa”;驼峰命名法:第一个单词首字母小写后面字母大写myName = “aaa”;数据类型1).Number类型 数值类型2).String类型 字符类型3).List类型 列表类型4).Tuple类型 元组类型5).Dict类...原创 2018-11-12 19:19:24 · 171 阅读 · 0 评论