当前位置: 首页 > news >正文

网站怎么加关键词淘宝客网站建设的策略

网站怎么加关键词,淘宝客网站建设的策略,查互做蛋白的网站,增城低价网站建设Python 爬虫开发完整环境部署 前言#xff1a; ​ 关于本篇笔记#xff0c;参考书籍为 《Python 爬虫开发实战3 》 笔记做出来的一方原因是为了自己对 Python 爬虫加深认知#xff0c;一方面也想为大家解决在爬虫技术区的一些问题#xff0c;本篇文章所使用的环境为#x…Python 爬虫开发完整环境部署 前言 ​ 关于本篇笔记参考书籍为 《Python 爬虫开发实战3 》 笔记做出来的一方原因是为了自己对 Python 爬虫加深认知一方面也想为大家解决在爬虫技术区的一些问题本篇文章所使用的环境为python 3.6.2 64 位 在此其中我们可能会碰到不兼容的问题所以有些软件会降低版本来达到兼容其实这一点大家没必要较真一个 python 版本或者一个库的版本都代表着一个时间随着 python3 的出现就代表着 python2 的不兼容那么库于库之间代码于代码之间就会存在一种依存关系有些库会更新而有的就不会跟新但旧的不代表它已经被淘汰而是一代技术的成熟以上是我对版本迭代的思考。 我想以我现在的水平还达不到窥探源码来修改这些不兼容的问题所以既然不兼容那么我就来兼容它即可python 亦是如此。 0x01 请求库的安装 爬虫可以简单分为几步抓取页面分析页面存储数据 当我们在抓取页面的时候需要模拟浏览器向服务器发出请求所以需要用到一些 python 库来实现 HTTP 请求操作 这里我们出现了三个库 requestsSeleniumaiohttpinstall 请求库 C:\Users\yanghpip install requests 标准请求库C:\Users\yanghpip install selenium Selenium是一个自动化测试工具利用它我们可以驱动浏览器执行特定的动作如点击、下拉等操作。对于一些JavaScript渲染的页面来说这种抓取方式非常有效。下面我们来看看Selenium的安装过程C:\Users\yanghpip3 install aiohttp 异步请求抓取数据C:\Users\yanghpip3 install cchardet aiodns 字符集编码库与加速 DNS 解析库 Software ChromeDriver[Chrome 对应]https://chromedriver.storage.googleapis.com/index.html GeckoDriver[Firefox 对应]https://github.com/mozilla/geckodriver/releasesChromeDriver 安装简介 作用配合 selenium 库来达到与浏览器配合能够与 chrome 配合先进入网站https://chromedriver.storage.googleapis.com/index.html 查看 Chrome 版本 下载对应版本软件 配置环境变量并把其放在 python/Script 目录下 验证 GeckoDriver 安装简介 作用配合 selenium 库来达到与浏览器配合能够与 firefox 配合GeckoDriver 安装也与之大同小异直接下载最新版然后对应 64/32 解压拖到 …/python/Script/ 验证 PhantomJS 安装简介 作用PhantomJS 是一个无界面的、可脚本编程的WebKit浏览器引擎它原生支持多种Web标准DOM操作、css选择器、JSON、Canvas以及SVG。Selenium支持PhantomJS这样在运行的时候就不会再弹出一个浏览器了。而且PhantomJS的运行效率也很高还支持各种参数配置官方网站http://phantomjs.org官方文档http://phantomjs.org/quick-start.html下载地址http://phantomjs.org/download.htmlAPI接门说明http://phantomjs.org/api/command-line.html PhantomJS 与 ChromeDriver 配置操作一样添加到 python/Script 文件夹然后加入环境变量 验证 这里由于不想修改 selenium 版本就没安装完毕0x02 解析库安装 在抓取网页代码之后下一步就是提取网站中的信息提取信息的方式有多种多样可以使用正则来提取但是正则写起来会相对比较繁琐。这里还有许多强大的解析库如,lxml,Beautiful Soup,pyquery等此外还提供了非常强大的解析方法如 XPath 解析和 CSS 选择器解析等利用他们我们可以高效的从网页中提取有效信息install 1C:\Users\yanghpip3 install lxml 2C:\Users\yanghpip3 install beautifulsoup4 (beautifulsoup4 即 bs4) 3C:\codeEnvironment\python\wheelpip3 insatll pyquery-1.4.3-py3-none-any.whl 4C:\Users\yanghpip install pillowlxml 参考 lxml 是 python 的一个解析库支持 HTML 和 XML 的解析支持 XPath 解析方式官方网站http://lxml.de GitHubhttps://github.com/lxml/lxml PyPIhttps://pypi.python.org/pypi/lxml Beautiful Soup 参考 Beautiful Soup 是 Python 的一个 HTML 或 XML 解析库我们可以用它方便地从网页中提取数据它拥有强大的 API 和多样的 解析方式官方文档https://www.crummy.com/software/Beautifu1Soup/bs4/doc 中文文档https://www.crummy.com/software/Beautifu!Soup/bs4/doc.zh PyPIhttps://pypi.python.org/pypi/beautifulsoup4 Test Beautiful soup4 from bs4 import BeautifulSoupsoup BeautifulSoup(pHello/p,lxml)print(soup.p.string) Hello只要输出 hello 即成功pyquery 参考 url:https://pypi.org/project/pyquery/#files pyquery 同样是一个强大的页面解析工具它提供了和 Jquery 类似的语法来解析 HTML 文档支持 CSS 选择器参考链接 GitHubhttps://github.com/gawel/pyqueryPyPIhttps://pypi.python.org/pypi/pyquery官方文档http://pyquery.readthedocs.io resserocr 参考 在爬虫过程中难免会遇到各种各样的验证码而大多数验证码还是 图形验证码这时候我们就可以直接用 OCR 来识别tesserocr 是 Python 的一个OCR识别库但其实是对tesseract做的一层PythonAPI封装所以它的核心是tesseract。因此在安装tesserocr之前我们需要先安装 tesseract相关链接 tesserocrGitHub https://github.com/sirfz/tesserocrtesserocrPyPI https://pypi.python.org/pypi/tesserocrtesseract 下载地址http://digi.bib.uni-mannheim.de/tesseract[^ 下载来后全勾上安装即可]tesseractGitHub : https://github.com/tesseract-ocr/tesseracttesseract 语言包https://github.com/tesseract-ocr/tessdatatesseract 文档https://github.com/tesseract-ocr/tesseract/wiki/DocumentationReleases · simonflueckiger/tesserocr-windows_build (github.com)[^ 到这里下载 wheel 文件] 下载安装好后直接进 OCR 目录Tesseract-OCR 复制目录 tessdata 粘贴给 python 根目录一份即可完成安装 验证 测试 tesserocr 若正常输出图片内容则安装成功 测试 tesseract 0x03 数据库的安装 作为数据存储的重要部分数据库同样是必不可少的数据库可以分为关系型数据库和非关系型数据库(NOsql), 关系型数据库如SQLite、MySQL、Oracle、SQL Server、DB2 非关系型数据库MongoDB、Redis他们存储形式是键值对存储形式更加灵活以下我们来介绍三种数据库Mysql 以及 MongoDB、RedisMySQL 安装参考 下载地址https://www.mysql.com/cn/downloads 也可以通过国内的 phpstudy 一键搭建 注意通过官网下载的需要开启本地服务 MySQL MongoDB 的安装 MongoDB 是由 C 语言编写的非关系型数据库是一个基于分布式文件存储的开源数据库系统其内容存储形式类似JSON对象它的字段值可以包含其他文档、数组及文档数组非常灵活。MongoDB支持多种平台包括Windows、Linux、MacOS、Solaris等在其官方网站https://www. mongodb.com/download-center均可找到对应的安装包。官方网站https://www.mongodb.com官方文档https://docs.mongodb.comGitHubhttps://github.com/mongodb中文教程http://www.runoob.com/mongodb/mongodb-tutorial.html下载网址MongoDB Community Download | MongoDBMongoDB安装超详细) Redis 安装 官方网站https://redis.io官方文档https://redis.io/documentation中文官网http://www.redis.cnGitHubhttps://github.com/antirez/redis中文教程http://www.runoob.com/redis/redis-tutorial.htmlRedisDesktop Manager: https://redisdesktop.comRedis Desktop Manager GitHub: https://github.com/uglide/RedisDesktopManager下载 redishttps://github.com/microsoftarchive/redis/releases下载 redis 可视化程序https://wwx.lanzoui.com/it7Eqnacdeh 下载来后一键安装即可默认用户 root 密码 root 0x04 存储库的安装 我们上面只说到存储数据的一个方式即数据库但是我们要数据库与我们的 python 交互那么就需要 存储库如 Mysql 需要安装 PyMySQL,MongoDB 需要安装 PyMongo 等PyMySQL 安装 C:\Users\yanghpip3 install pymysql验证 相关链接 GitHubhttps://github.com/PyMySQL/PyMySQL官方文梢http://pymysql.readthedocs.io/PyPl: https://pypi.python.org/pypi/PyMySQL PyMongo 安装 C:\Users\yanghpip3 install pymongo验证 相关链接 GitHubhttps://github.com/mongodb/mongo-python-driver官方文档https://api.mongodb.com/python/current/PyPI: https://pypi.python.org/pypi/pymongo redis-py 安装 C:\Users\yanghpip3 install redis验证 输出如下即成功安装C:\Users\yanghpython Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32 Type help, copyright, credits or license for more information.import redisredis.VERSION (4, 0, 2)相关链接 GitHub:https://github.com/andymccurdy/redis-py官方文档https://redis-py.readthedocs.io/ RedisDump 安装 RedisDump 作用与 Redis 的导入导出工具基于 Ruby 实现所以需要先下载 RubyRuby for windows 访问网站https://rubyinstaller.org/downloads/ 下载即可 gem 安装 这里我们安装 ruby 后就能使用 gem 命令来下载 RedisDump 验证 相关链接 GitHub:https://github.com/delano/redis-dump官方文档http://delanotes.com/redis-dumpRuby http://www.ruby-lang.org/zh_cn/documentation/installation 0x05 Web 库的安装 Python 也有 Web 程序服务 FlaskDjango 等我们可以用他们来开发 网站 和 接口我们主要拿来做 API 接口供 我们的 爬虫 使用比如维护一个嗲鲤齿代理保存在 Redis 数据库中我们要将代理池作为一个公共的组件使用那么如何构建一个方便的平台来供我们获取这些代理呢最适合的就是 Web 服务提供的 API 接口我们只需要请求接口即可获取新的代理Flask 安装 Flask 是一个轻量级的 Web 服务程序它简单、易用、灵活、主要用于 API 服务 C:\Users\yanghpip3 install flask验证 后面我们会利用 FlaskRedis 维护动态代理池和 Cookies 池 相关链接 GitHub:https://github.com/pallets/flask官方文档http://flask.pocoo.org中文文档http://docs.jinkan.org.docs/flaskPyPI :https://pypi.python.org/pypi/Flask Tornado 的安装 Tornado 是一个支持 “异步” 的web框架通过使用 “非阻塞 I/O 流”它可以支撑成千上万的开放链接 C:\Users\yanghpip3 install tornado验证 后面我们会利用 TomadoRedis 来搭建一个ADSL拨号代理池 相关链接 GitHub:https://github.com/tomadoweb/tomadoPyPI:https://pypi.python.org/pypi/tomado官方文档http://www.tomadoweb.org 0x06 APP 爬取相关库的安装 除了 Web 网页爬虫也可以抓取 App 的数据App 中的页面要加载出来首先需要获取数据而这些数据一般是通过请求服务器的接口来获取的。由于 App 没有浏览器这种可以比较直观的看到后台请求的工具所以主要用一些抓包技术来抓取数据本地测试工具有 CharlesmitmproxymitmdumpAppium 一些简单的接口可以通过 Charles 或 mitmproxy分析找出规律然后直接用程序模拟来抓取了但如果遇到更加复杂的接口就需要利用 mitmdump 对接 python来抓取到的请求和响应进行实时处理和保存另外既然要做规模采集就需要自动化 App 的操作而不是人工采集这里我们还会需要一个工具 Appium它可以像 Selenium 一样对 App 将那些自动化控制如自动化模拟 App 的点击下拉等操作 Charles 的安装 下载https://www.charlesproxy.com/latest-release/download.do 破解https://www.zzzmode.com/mytools/charles/ 安装 CA 证书 安装完后可同时设置 Android 于之存在一个局域网参考以下即可 如果你的手机是Android系统可以按照下面的操作进行证书配置。在Android系统中同样需要设置代理为Charles的代理。设置完毕后电脑上就会出现一个提示窗口询问是否信任此设备此时直接点击Allow按钮即可。接下来像iOS设备那样在手机浏览器上打开chls.pro/ssl这时会出现一个提示框mitmproxy 安装 mitmproxy是一个支持 HTTP 和 HTTPS 的抓包程序类似 Fiddlercharles功能只不过它通过控制台的形式操作。 此外mitmproxy 还有两个关联组件一个是 mitmdump它是 mitmproxy 的命令行接口利用它可以对接 Python 脚本实现监听后的处理另一个是mitmweb 它是一个 web 程序通过它以清除地观察到 mitmproxy 捕获的请求。 C:\Users\yanghpip install mitmproxy5.0.0即可查看到 CA 证书 安装 CA 证书 跟着图片步骤走即可 证书配置 对于 mitmproxy来说如果想要截取 HTTPS 请求就需要设置证书。mitmproxy 在安装后会提供一套 CA 证书只要客户端信任即可步骤如下 相关链接 GitHub:https://github.com/mitmproxy/mitmproxy官方网站https://mitmproxy.orgPyPI: https://pypi.python.org/pypi/mitmproxy官方文档http://docs.mitmproxy.orgmitmdump脚本http://docs.mitmproxy.org/en/stable/scripting/overview.html下载地址https://github.com/mitmproxy/mitmproxy/releasesDockerHub:https://hub.docker.com/r/mitmproxy/mitmproxy Appium 安装 首先需要安装Appium。Appium负责驱动移动端来完成一系列操作对于iOS设备来说它使用苹果的UIAutomation来实现驱动对于Android来说它使用UIAutomator和Selendroid来实现驱动同时Appium也相当于一个服务器我们可以向它发送一些操作指令它会根据不同的指令对移动设备进行驱动以完成不同的动作。 下载网址https://github.com/appium/appium-desktop/releases 安装完后即可显示如下即安装成功 以上我们可以配合 Android 模拟器等来实现即可 0x07 爬虫核心框架安装 我们直接用 requests、Selenium 等库来写爬虫如果爬取量不是太大速度要求不高是完全可以满足需求的。但是写多了就会发现其内部许多代码和组件是可以重复利用的如果我们把这些组件抽离出来将各个功能模块化就会慢慢形成一个框架雏形这样慢慢培养它就像自己养虫子一样爬虫框架也会越来越来完善。 我们利用框架就可以不再去关心某些功能的具体实现只需要关系爬取的逻辑即可。同时也可大大简化代码量而且框架会变得清晰爬取效率也会高很多。所以如果有一定基础上手框架是一种好的选择。 以下我们主要介绍 pyspider 和 Scrapy 两种框架。 Pyspider 安装 简介 pyspider是国人 binux 编写的一个网络爬虫框架它拥有强大的 WebUI、脚本编辑器、任务监控器、项目管理器、结果处理器。同时支持多种数据库后端、多种消息队列、还支持 JavaScript 渲染页面的爬取 安装 C:\Users\yanghpip3 install pyspider验证 常见 windows 错误 1Command ”python setup.py egg_info”failedwith error code 1 in /tmp/pip-build-vXo1W3/pycurl 这是PyCurl安装错误此时需要安装PyCurl库。从 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl 找到对应的Python版本然后下载相应的wheel文件即可。比如Windows64位、Python3.6则需要下载pycurl-7.43.0-cp36-cp36m-win _ amd64.whl随后用pip安装即可命令如下 C:\codeEnvironment\python\wheelpip install pycurl-7.43.0.4-cp36-cp36m-win_amd64.whl2若出现报错即直接停止 pyspider 进程说明 wsgidav werkzeug 版本过高操作如下 C:\Users\yanghpip uninstall wsgidav C:\Users\yanghpip install wsgidav2.0.1 C:\Users\yanghpython -m pip uninstall werkzeug C:\Users\yanghpython -m pip install werkzeug0.16.1重新启动 pyspider 即可 相关链接 官方文档http://docs.pyspider.orgPyPI: https://pypi.python.org/pypi/pyspiderGitHub:https://github.corn/binux/pyspider官方教程http://docs.pyspider.org/en/latest/tutorial在线实例http://demo.pyspider.orgpyspider 坑参考https://blog.csdn.net/huangzyi/article/details/114289498踩坑参考https://blog.csdn.net/lang_niu/article/details/104501473踩坑参考https://blog.csdn.net/qq_39542714/article/details/106835145踩坑参考https://blog.csdn.net/weixin_30408675/article/details/97132148 Scrapy 安装 Scrapy 是一个十分强大的爬虫框架依赖的库比较多至少需要依赖的库有 Twisted 14.0、lxml 3.4 和 pyOpenSSL 0.14.在不同的平台环境下它所依赖的库也各不相同所以在安装 Scrapy 之前必须把基本库环境安装好这里笔者只介绍关于 windows 10 的安装 依赖Anaconda 安装 关于这一种安装方法大家注意如果本地已经安装了 Python就不要用 conda 的安装了参考后面的安装即可 关于 Anaconda 的安装方式大家可以去看这篇文章 https://blog.csdn.net/ITLearnHall/article/details/81708148) 在此不再赘述 安装好后直接输出该命令即可安装完毕conda install Scrapy 依赖 lxml 安装 C:\Users\yanghpip install lxml依赖 pyOpenSSL 关于 pyOpenSSL 直接去官网下载 whl 文件安装即可https://pypi.python.org/pypi/pyOpenSSL#downloads C:\codeEnvironment\python\wheelpip install pyOpenSSL-17.2.0-py2.py3-none-any.whl依赖 Twisted 安装 下载地址http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载wheel文件 C:\codeEnvironment\python\wheelpip install Twisted-20.3.0-cp36-cp36m-win_amd64.whl依赖 PyWin32 从官方网站下载对应版本的安装包即可 链接为https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221 下载过来后直接双击 exe 安装即可 End Scrapy 安装 C:\Users\yanghpip3 install Scrapy验证 C:\codeEnvironment\python\wheelScrapy Scrapy 2.5.1 - no active projectUsage:scrapy command [options] [args]Available commands:bench Run quick benchmark testcommandsfetch Fetch a URL using the Scrapy downloadergenspider Generate new spider using pre-defined templatesrunspider Run a self-contained spider (without creating a project)settings Get settings valuesshell Interactive scraping consolestartproject Create new projectversion Print Scrapy versionview Open URL in browser, as seen by Scrapy[ more ] More commands available when run from project directoryUse scrapy command -h to see more info about a command相关链接 官方网站https://scrapy.org官方文档https://docs.scrapy.orgPyPI:https://pypi.python.org/pypi/ScrapyGitHub:https://github.com/scrapy/scrapy中文文梢http://scrapy-chs.readthedocs.io Scrapy-Splash 安装 Scrapy-Splash 是一个 Scrapy 中支持 JavaScript 渲染的工具 Scrapy-Splash 的安装分为两部分。 1Splash 服务的安装具体通过 Docker 安装后会启动一个 Splash 服务我们可以通过它的接口来实现 JavaScript 页面的加载 2Scrapy-Splash 的 Python 库的安装安装之后即可在 Scrapy 中使用 Splash 服务 在安装之前需要先确保自己有 docker 这个应用若没有可以参考 笔者的笔记 docker 的安装于部署 安装 docker run -p 8050:8050 scrapinghub/splash验证 可以看到docker 已经把镜像拉过来了。以后要运行 Scrapy-Splash 直接本地开 docker 即可 相关链接 GitHub: https://github.com/scrapy-plugins/scrapy-splashPyPI: https://pypi.python.org/pypi/scrapy-splash使用说明https://github.com/scrapy-plugins/scrapy-splash#configurationSplash官方文档http://splash.readthedocs.io Scrapy-Redis 安装 Scrapy-Redis 是 Scrapy 的分布式扩展模块有了它我们就可以实现 Scrapy 分布式爬虫的搭建 C:\Users\yanghpip3 install scrapy-redis验证 导入库不报错即可 相关链接 GitHub:https://github.com/rmax/scrapy-redisPyPI:https://pypi.python.org/pypi/scrapy-redis官方文档http://scrapy-redis.readthedocs.io 0x08部署其他相关库 Scrapyrt 安装 pip3 install scrapyrt 后面运行需要在一个 scrapy 项目中运行才可默认存在 9080 端口使用 -p 端口切换 scrapyrt -p 9081Gerapy 安装 pip3 install gerapy
http://www.sczhlp.com/news/215995/

相关文章:

  • 网站被挂马怎么处理vscode制作个人网站
  • 免费做婚礼邀请函的网站培训中心网站建设
  • 计算机网站建设名称photoshop手机版下载
  • 免费行情软件网站游戏百度搜索app
  • 宁乡做网站无锡网络公司排名
  • 网站建设好的施工企业资质证书延期
  • 怎么开发手机网站云南信息发布平台
  • 响应式网站建设流程wordpress修改主题
  • 做pc端网站行情动漫网站策划书
  • dw做的网站要多大购物网站界面设计欣赏
  • 中小企业网站建设教程电脑网页制作模板
  • 免费海报在线制作网站个人网站可以做哪些内容
  • 网上停车场做施工图人员网站百度小程序模板
  • 公司网站现状合肥高端网站建设公司
  • 网站设计深圳flash网站源码
  • 大兴安岭商城网站开发设计开发程序员培训班
  • 网站建设科技项目申报书范文哪个网站做视频有钱
  • 做电影网站哪个系统好热搜关键词查询
  • 增城网站开发做企业网站多少钱
  • 百度网站 v怎么怎做全球域名注册商
  • 旅游网站开发报告松原市住房和城乡建设厅网站
  • 2025 年水泥管源头厂家最新推荐榜单:国标 / 二级 / 钢筋混凝土 / 大口径 / 平口等多类型产品实力企业全方位剖析
  • Redis常用命令指南
  • 2025 年塑胶跑道厂家最新推荐排行榜:聚焦优质企业核心优势,助力采购决策
  • 2025年10月益生菌厂家评价榜:五强排名与场景化选购建议
  • 【2025-10-18】连岳摘抄
  • 网站建设网络推广外包服务商网站sem托管
  • 网站开发个人简介范文建设银行大冶支行网站
  • 做像淘宝这样的购物网站要多少钱网站制作方案策划简历
  • 建站宝盒怎么样电子商务网站建设与维护的主要内容