python3网络爬虫开发实战(配置踩坑及学习备忘)

本文详细介绍了Python3网络爬虫的开发环境配置,包括Python安装、请求库(requests、Selenium等)、解析库(BeautifulSoup、lxml等)、数据库(MySQL、MongoDB)的安装,以及遇到的问题和解决方案。此外,还涉及了爬虫基础,如HTTP原理、网页结构、选择器,以及常用库如urllib的使用。
摘要由CSDN通过智能技术生成

一、开发环境配置

1.1,python安装

Windows(设置环境变量)

Linux

Mac

1.2 请求库的安装

requests

Selenium

selenium==2.48.0下这个老版本,新版不支持phantomjs

ChromeDriver

淘宝镜像站:http://npm.taobao.org/mirrors/chromedriver

GeckoDriver

PhantomJS(版本2.1.1)

安装依赖:

sudo apt-get install build-essential chrpath libssl-dev libxft-dev
sudo apt-get install libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev

下载地址(淘宝镜像):https://npmmirror.com/mirrors/phantomjs?spm=a2c6h.24755359.0.0.6d443dc1T0AXPt

安装方式一:放到系统目录(推荐)

原名太长,重命名,移动到/usr/local/share目录下

sudo mv phantomjs211 /usr/local/share/

创建启动软链接:

sudo ln -s /usr/local/share/phantomjs211/bin/phantomjs /usr/local/bin/
安装方式二:放到用户目录

下载包解压后解压,文件夹移到home目录下,
并设为隐藏文件(文件夹名称前加.号),
修改~/.profile文件:

sudo vim ~/.profile

末尾添加phantomjs执行文件路径,如:
export PATH="$HOME/.phantomjs版本号/bin:$PATH"

错误解决

Auto configuration failed
140277513316288:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: 无法打开共享对象文件: 没有那个文件或目录
140277513316288:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140277513316288:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
140277513316288:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf

解决方法:

export OPENSSL_CONF=/etc/ssl/

aiohttp

1.3解析库的安装

lxml

Beautiful Soup

pyquery

tesserocr(先安装tesseract)

(在windows下因为兼容问题,所以用pytesseract替代tesseroct,然后设置tesseract的环境变量。)

tesseract语言下载包:https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata?utm_source=csdn_github_accelerator

测试安装是否成功:

tesseract image.png result -l eng |type result.txt
tesseract image.png result -l eng |cat result.txt
import pytesseract
from PIL import Image

im=Image.open('image.png')
print(pytesseract.image_to_string(im))
import pytesseract
from PIL import Image

image = Image
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
### 回答1: Python3网络爬虫开发实战第2版是一本介绍如何使用Python3编写网络爬虫实战教程。本书从网络爬虫的基础知识开始,逐步介绍如何使用Python3编写爬虫程序,包括如何使用Requests库发送HTTP请求、如何使用BeautifulSoup库解析HTML文档、如何使用Scrapy框架编写爬虫程序等。此外,本书还介绍了如何使用Selenium库模拟浏览器行为、如何使用PyQuery库解析XML文档、如何使用MongoDB数据库存储爬取的数据等。本书内容丰富,适合Python初学者和有一定Python基础的读者学习。 ### 回答2: Python3是一种流行的编程语言,它已成为网络爬虫开发的首选语言。《Python3网络爬虫开发实战第2版》是一本深入解释如何使用Python来编写网络爬虫的重要参考书籍。该书覆盖了从基础到高级的各种技术,包括使用Python和第三方库进行web数据存储、数据提取、数据清洗、数据分析等。 第一部分的介绍了网络爬虫的基础概念,包括HTTP协议、HTML解析、代理和Cookie等。其中,作者对Python网络爬虫库Requests的用法进行了详细的介绍,并给出了一些常见的HTTP请求头信息。 在第二部分中,作者细察了如何使用Scrapy和Beautiful Soup等开源库进行数据抓取。这个部分的内容对于希望更深入地了解Python网络爬虫开发的人来说尤其有价值。读者将了解如何写爬虫,完成页面解析和使用数据库等数据存储技术。 第三部分深入探讨了其他有用的技术,如Selenium、PhantomJS、Tesseract OCR等。读者可以了解到如何使用这些技术来解决爬虫中遇到的困难。 最后,在第四部分中,作者重点介绍了如何使用Python进行数据分析和可视化,使读者可以更深入地了解所抓取数据的意义和价值。 总的来说,《Python3网络爬虫开发实战第2版》是一本值得一读的权威指南,向人们介绍了Python网络爬虫开发的方方面面,无论是初级编程人员还是高级开发人员,他们都可以收获丰富的知识。 ### 回答3: 《Python3网络爬虫开发实战》第2版一书由崔庆才编写。本书主要讲解Python爬虫的实际应用,包括爬虫的基础知识、数据解析、反爬虫与反反爬虫爬虫实战、分布式爬虫等内容。下面,我将从几个方面介绍一下本书。 一、基础技能篇 本书首先从基础技能开始介绍,包括HTTP协议、HTML、CSS、JavaScript等基本概念,以及Python的一些基础语法。同时,还介绍了一些常用的爬虫框架,如Scrapy等。 二、数据解析篇 爬虫最重要的就是数据解析,本书详细地介绍了爬虫中常用的数据解析库,包括正则表达式、XPath、beautifulsoup等。同时,还介绍了爬虫中常用的数据存储方式,如MySQL、MongoDB等。 三、反爬虫与反反爬虫爬虫的实际应用中,我们还需要面对反爬虫的问题。本书详细介绍了常用的反爬虫手段,如User-Agent伪装、IP代理等。同时,还介绍了如何应对反爬虫措施,如通过随机User-Agent、IP代理池等技术。 四、爬虫实战 本书将爬虫的实际应用分为几个章节进行介绍,包括爬取豆瓣电影、天猫商城、京东商城等网站的数据,爬取微博、知乎等社交网站的数据等。每个实战案例都详细地介绍了爬虫的实现过程,包括数据解析、数据存储、反爬虫等方面的知识,可供读者进行参考。 五、分布式爬虫 最后,本书还介绍了分布式爬虫的实现,包括基于Redis的分布式爬虫、基于MongoDB的分布式爬虫等。这些内容将帮助读者更好地理解分布式爬虫的设计思路。 总体而言,《Python3网络爬虫开发实战》第2版是一本较为详细的爬虫书籍,涵盖了爬虫的基础知识、数据解析、反爬虫与反反爬虫爬虫实战、分布式爬虫等方面的内容。对于想要了解Python爬虫的人群,本书绝对是一本不可错过的参考书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值