![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
文章平均质量分 50
yaqinweiliang
希望未来的自己能够对自己说我有好好对待你!
展开
-
error: command ‘gcc‘ failed with exit status 1报错解决
在执行如下命令在安装gerapy时sudo pip3 install gerapy出现如下报错信息解决方法:根绝报错信息,得知缺少python.h文件,因此添加python对应的devel文件就可以。因为我使用的是python3,执行如下命令,再重新执行安装命令,即可解决报错问题。(注:如果是python,则需要把改成python-devel执行即可)sudo yum install python3-devel...原创 2021-02-25 17:09:42 · 17703 阅读 · 0 评论 -
pip 安装scrapy报错解决
最近要重新部署环境,在进行pip安装scrapy框架时出现如下错误!!上面的提示其实是说明缺少c++14,这时并不需要进行下载,去python第三方库的网站上找这个对应版本的安装包里面ctrl+f搜索twisted,选择和python版本对应的版本下载,我这里用的是python3.9版本,因此选择的是如下图的第一个文件,下载并进行安装即可!!下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/下载完成以后使用如下命令进行安装即可:pip原创 2020-10-19 15:06:56 · 730 阅读 · 1 评论 -
轻量级hook框架Frida的安装(包括客户端以及服务端)
最近在做抖音的数据爬取,但是在请求头中参数加密的问题使得无法进行数据的大量获取,因此想到使用hook的方式。Frida是一款基于python+JavaScript的轻量级hook框架,Frida的动态代码执行功能,主要是在它的核心引擎Gum中用C语言来实现的。注入模式:大部分情况下,我们都是附加到一个已经运行到进程或者是在程序启动到时候进行劫持,然后再在目标进程中运行我们的代码逻辑,这种方式是Frida最常用的使用方式。注入模式的大致实现思路是这样的,带有GumJS的Frida核心引擎被打包成一个动原创 2021-01-12 18:14:02 · 889 阅读 · 0 评论 -
运行Scrapy,出现ImportError: DLL load failed: 找不到指定的程序的错误解决
今天突然发现使用scrapy框架一直定时爬取的程序突然报错了,因为我下载了matplotlib的包,有的说是版本不兼容的,然后我把我的版本降低,但是还是没有解决问题,因为我看到报错中显示无法导入win32api,所以我试着importwin32api,不出意料,无法显示正常导入,确定是win32api的问题后,我使用了如下方式解决:下载依赖包:https://pypi.org/project/pywin32/#files查看python版本,我的是3.7版本,因此我的选择如下:然后在终端输.原创 2020-05-21 10:54:51 · 1617 阅读 · 2 评论 -
使用selenium获取不到#document里面的网页内容的问题解决
一、问题出现的原因网页中有一种节点叫做iframe,相当于外部页面的子页面,它的结构和外部页面的结构是一致的。当我们使用selenium去模拟浏览器进行操作时,是默认的在父级Frame里面进行操作,但是页面中还存在子Frame,这时候是获取不到子Frame里面的节点的,也就表现在虽然在页面中有数据内容,但是使用模拟浏览器获取获取不到任何内容。二、解决方法# 获取#document下的...原创 2020-05-07 11:51:31 · 5578 阅读 · 6 评论 -
发送HTTP请求时post或put方法报错返回415状态码的解决方法
在发送HTTP请求时,用post或者put方法时可能会出现415的错误,解决方法:只需要在请求头中加入如下字段即可:"Content-Type":"application/json"完整的请求头如下:headers = { "Content-Type": "application/json", "Accep...原创 2019-12-03 15:53:29 · 4087 阅读 · 0 评论 -
快速获取模拟器中App的appPackage和appActivity
在这里模拟器以逍遥模拟器为例,app以网易云音乐的App为例进行说明。一、首先,设置逍遥模拟器中开发者选项中的usb调试开启,然后打开网易云音乐APP二、然后,启动cmd,在终端输入如下命令连接逍遥模拟器;adb connect 127.0.0.1:21503三、输入如下命令进行登录模拟设备adb shell登录完成后,输入如下命令获取; dumpsys acti...原创 2019-11-29 13:43:32 · 2095 阅读 · 0 评论 -
用python实现时间戳和日期形式的字符串转换
在爬虫爬取的数据中时间的形式很多时候都是时间戳的形式,这时候想要存放成日期的形式,方便记录存放!使用time模块 import time# 时间戳time_stamp = time.time()# 时间戳转换为字符串print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time_stamp)))当然!字符串也可...原创 2019-11-20 11:41:41 · 313 阅读 · 0 评论 -
正则表达式解析
为什么引入正则表达式?用来匹配一类具有相同规则字符串使用正则表达式进行匹配的规则如下:1、单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字、字母、下划线、中文 ...原创 2018-06-27 08:52:46 · 448 阅读 · 0 评论 -
安装完scrapyd-client后使用scrapyd-deploy时出现无法正常运行的情况的解决
我这边是在windows上运行了:scrapyd-deploy -h用来查看scrapyd-deploy能否正常运行,发现出现了提示选择打开文件的形式的提示框,解决方法:在python安装包的我的是在:C:\software\Scripts位置建立一个scrapyd-deploy.bat文件,里面添加内容:@echo off"C:\software\python.exe" "...原创 2019-04-29 15:28:39 · 768 阅读 · 0 评论 -
scrapy中自定义日志的设置以及日志等级的介绍以及使用
(1)在settings.py中添加:LOG_FILE = 'log.txt'用来设置日志文件的名称。LOG_ENABLED 默认: True,启用loggingLOG_ENCODING 默认: ‘utf-8’,logging使用的编码LOG_FILE 默认: None,在当前目录里创建logging输出文件的文件名LOG_LEVEL 默认: ‘DEBUG’,log的最低...原创 2019-05-15 15:47:03 · 4698 阅读 · 0 评论 -
获取手机APP的appPackage和appActivity
一、获取appPackage和appActivity在终端检测电脑是否连接上移动设备adb devices -l然后运行待检测的App,执行如下命令:adb shell然后在里面输入命令即可:dumpsys window windows | grep -E 'mFocusedApp'...原创 2019-06-05 10:33:17 · 840 阅读 · 0 评论 -
连接Appium和模拟器(夜神/逍遥)/实体手机
一、下载和配置AppiumAppium客户端的下载,点击如下链接进入到下载页面选择合适的版本进行下载即可:https://github.com/appium/appium-desktop/releases/tag/v1.13.0上面是通过Appium客户端页面的实现的,我们可以用上面这种方式来测试我们是否成功模拟浏览器以及直观的确定我们需要点击的元素和模拟滑动的位置等。此外如果我们...原创 2019-10-11 17:11:43 · 2106 阅读 · 0 评论 -
TypeError: Object of type datetime is not JSON serializable
一、问题描述我是在使用requests.post(url=douyin_url, json=singer_data)时,需要传入singer_data但是其中的一个字段是时间这个特殊字段。如:{'rankingDate': '2019-06-20 17:05:03.483030'},其中这个值是通过datetime.datetime.now()获得的当前时间。结果执行时出现上面的错误。...原创 2019-06-20 17:16:26 · 4793 阅读 · 1 评论 -
Scrapy爬虫中断后无法恢原本的爬取队列的解决方法
我们在使用 Scrapy框架进行大规模爬取网站数据时,总可能会遇到各种各样的问题导致我们不得不中断已经启动的爬虫。这时我们就需要考虑有没有一种方法可以恢复我们中断前的爬取队列,以至于能让爬虫的爬取具有连续性。一、原理 Scrapy进行爬取的Request 队列是存放在内存中的,在爬虫程序运行中断后,这个队列所占用的空间就被马上释放了,从而该队列就将不会存在了。 ...原创 2019-08-20 17:08:25 · 2304 阅读 · 0 评论 -
web.Server Traceback (most recent call last): builtins.AttributeError: 'int' object has no attribute
在使用scrapyd部署查看job时出现以下错误:web.Server Traceback (most recent call last):builtins.AttributeError: 'int' object has no attribute 'splitlines'c:\software\lib\site-packages\twisted\web\server.py:199 in...原创 2019-04-23 16:35:50 · 739 阅读 · 0 评论 -
scrapy爬虫项目的部署以及可视化管理
一、介绍在这里使用的是scrapyd部署,scrapyd-deploy进行打包,spiderkeeper进行项目可视化管理。spiderkeeper是开源的spider可视化管理工具,它可以很方便的实现爬虫的启动,暂停,定时等,同时还具有可以查看分布式下所有爬虫的日志、爬虫执行情况等功能。二、使用安装相关环境python3.7.3pipinstall scrapypipin...原创 2019-04-29 16:35:51 · 855 阅读 · 0 评论 -
使用scrapy框架爬取带反盗链网站的图片
1、以趣图网为例,首先复制趣图的图片的地址发现图片无法打开,每个图片打开都变成了如下图所示:出现上述情况的原因则是因为该网站采用了防盗链,为了防止爬虫,可是解决方法还是有的,下面介绍了解决这种情况的方式:2、spider代码如下:# -*- coding: utf-8 -*-import scrapyfrom myproject.items import Qutuproject...原创 2018-11-19 15:47:05 · 501 阅读 · 0 评论 -
调试xpath的工具scrapy shell的安装与使用
scrapy shell是什么? 它是一种调试工具,常用来调试xpath是否正确。 它有着很智能的交互环境,可以通过tab键智能提醒。 使用它之间需要安装依赖包在终端输入命令如下: pip install ipythonscrapy shell的使用 在终端下的任意位置,输入如下指令: scrapy shell url 示例:scrapy shell http:/...翻译 2018-06-28 19:40:25 · 1074 阅读 · 0 评论 -
requests库的安装与使用
安装requests库在终端输入以下命令即可:pip install requests发送get请求: r = requests.get(url,headers = headers,param=data),其中data是一个原生字典响应对象: r.text 字符串形式查看响应 r.content 字节类型查看响应 r.encoding 查看或者设置编码类...原创 2018-06-27 20:56:18 · 1173 阅读 · 0 评论 -
XPath的简单介绍以及使用
XPath 是一门在 XML 文档中查找信息的语言。XPath它可以用来在 XML 文档中对元素和属性进行遍历。要使用xpath首先需要安装 lxml,在终端输入如下命令即可:pip install lxml 什么是xpath? 首先先来介绍下xml,它是用来存储和传输数据使用的。 和html的不同有以下的两点: (1)html用来显示数据,x...原创 2018-06-27 19:28:06 · 1775 阅读 · 0 评论 -
BeautifulSoup库的安装以及使用
1、安装BeautifulSoup库 在终端输入:pip install bs4即可完成安装 另外在bs4使用时候需要一个第三方库,所以也需要把这个库也安装一下,使用如下命令: pip install lxml 2、BeautifulSoup库的基本使用: #导入BeautifulSoup from bs4 import Beautifu...翻译 2018-06-27 11:10:04 · 16202 阅读 · 0 评论 -
使用cookie登录网站(人人网)
1、cookie登录主要步骤: # 创建一个cookiejar对象 cj = http.cookiejar.CookieJar() # 通过cookiejar创建一个handler handler = urllib.request.HTTPCookieProcessor(cj) # 根据handler创建一个opener opener = urllib.requ...翻译 2018-06-26 21:46:14 · 12032 阅读 · 0 评论 -
爬虫中使用代理的简单介绍以及设置
1、代理是什么? 正向代理:代理客户端获取数据 反向代理: 代理服务端提供数据 2、代理的配置,有两种方式进行配置,分别如下: (1)在浏览器中配置配置 右边三点==》设置==》高级==》代理==》局域网设置==》为LAN使用代理==》输入ip和端口号即可 (2)代码配置 handler = url...转载 2018-06-26 17:48:54 · 1058 阅读 · 0 评论 -
urllib库的介绍以及常见使用
urllib库,它是模拟浏览器发送请求的库,它由Python自带。1、不同的版本其使用也不相同,对应关系如下: Python2:urllib urllib2 Python3: urllib.request urllib.parse2、urllib.request的使用: (1) urlopen(url)#读取url如:response = ur...翻译 2018-06-26 17:05:08 · 787 阅读 · 0 评论 -
爬虫的简单介绍
一、爬虫就是程序员写程序然后到网上抓取数据的过程二、爬虫一般可以分为通用爬虫和聚焦爬虫1、通用爬虫比如:百度、360、搜狐、谷歌等通用的爬虫抓取新网站一般有如下几种方式:(1)主动提交url(2)设置友情链接(3)百度会和DNS服务商进行合作,抓取新的网站使用的原理:(1)抓取网页(2)采集数据(3)数据处理(4)提供检索服务2、聚焦爬虫根据特定的需求,进行抓取指定的数据。主要是实现代替浏览器上网...翻译 2018-06-26 16:28:29 · 204 阅读 · 0 评论 -
HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的万维网(WWW)文件都必须去遵守这个标准。它用于传送WWW方式的数据。HTTP是一个客户端和服务器端请求和应答的标准(TCP),尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。 事实上,HTTP可以在任何其他互联网协议上,或...转载 2018-06-26 11:25:00 · 96 阅读 · 0 评论 -
爬虫的终极解决方案selenium+phantomjs/Headless Chrome
首先安装selenium:pip install selenium如果你想要让谷歌以页面的形式完成自动化的操作,你可以下载一个和你的谷歌版本相对应的谷歌浏览器驱动,下载地址如下:http://chromedriver.storage.googleapis.com/index.html,谷歌浏览器版本和驱动的对应关系可以在下面的链接中查看:http://blog.csdn.net/huilan_...原创 2018-06-25 19:58:27 · 1482 阅读 · 0 评论 -
以requests方式爬取的数据并且以csv文件的方式存储
以爬取豆瓣电影的排行榜前十的电影为例进行说明:代码如下:import requestsfrom bs4 import BeautifulSoupimport refrom lxml import etreeimport codecsimport csvclass FirstCrawl(): #初始化数据 def __init__(self): ...原创 2018-08-01 14:47:12 · 3102 阅读 · 1 评论 -
把爬虫项目部署到服务器
一、安装第三方库:pip install scrapyd:服务端pip install scrapyd-client:客户端二、部署scrapy.cfg为部署文件启动服务器运行scrapyd服务在终端输入:scrapyd,默认端口6800修改部署文件url注释掉,在切入到爬虫项目里面在终端执行scrapyd-deploy deploy后面起的名字 -p 项目名...原创 2018-11-19 15:48:32 · 3586 阅读 · 4 评论 -
ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator
安装完爬虫框架pyspider之后,使用pyspider all 命令,输入http://localhost:5000运行就出现上述错误原因是因为WsgiDAV发布了版本 pre-release 3.x。解决方法如下:在安装包中找到pyspider的资源包,然后找到webui文件里面的webdav.py文件打开,修改第209行即可。把'domaincontroller': N...原创 2019-03-05 19:12:58 · 9250 阅读 · 7 评论 -
抓包程序mitmproxy的安装以及使用(以Windows为例)
一、介绍说明mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmpro...原创 2019-02-27 16:12:49 · 3913 阅读 · 2 评论 -
Charles破解
在Help窗口内选择Register Charles。// 适用于Charles任意版本的注册码// Charles 4.2目前是最新版,可用。Registered Name: https://zhile.ioLicense Key: 48891cf209c6d32bf4...转载 2019-04-12 11:07:40 · 102 阅读 · 0 评论 -
使用网络抓包工具charles截获手机端App数据的下载、配置以及使用
一、使用抓包工具的原因:我们在web端爬取时,一般是通过浏览器的开发者工具就可以监听到各个网络请求和响应的过程。但是如果我们想在APP端爬取数据时,我们就需要去借助抓包软件来获取我们想要的内容了。比较常用的抓包软件有:Filddler和Charles等。这两个抓包工具的原理是大致相同的,我们可以通过设置代理的方式将手机处于抓包软件的监听下。下面我就来介绍下如果进行Charles的配置。二、...原创 2019-07-26 19:30:34 · 1170 阅读 · 0 评论 -
爬虫框架 scrapy 的简单介绍 以及 安装和简单使用
scrapy框架由五部分组成,包括:引擎、下载器、spiders、调度器(schedule)、管道(pipeline),一般我们进行爬虫实现的代码写到spiders、管道中,在spiders里面我们可以实现文件内容解析、链接提取等,在管道中,可以实现选择我们的数据是保存到文件中还是数据库(mysql、MongoDB)中。scrapy框架的安装:pip install scrapy如果安装过程中出现...原创 2018-06-06 19:25:23 · 294 阅读 · 0 评论