urllib是python自带的库,直接导入即可使用
用urllib包获取百度首页信息:
requests是python的第三方库,因此需要先安装使用:pip3installrequests
使用Requests库获取百度首页信息
1.导入requests
2.使用requests.get获取网页源码
2.解析网页数据
3.寻找数据
4.for循环打印
frombs4importBeautifulSoupsoup=BeautifulSoup(r,'lxml')#lxml参数,用来解析返回来的html数据pattern=soup.find_all('p','comment-content')#获取所有p标签中class名字为comment-contentforiteminpattern:print(item.string)#只打印字符串,不打印标签1.导入pandas
2.新建list对象
3.使用data_csv写入
importpandascomments=[]foriteminpattern:comments.append(item.string)df=pandas.DataFrame(comments)df.to_csv('data.csv')完整爬虫
安装Requests
这里介绍两种常用python安装第三方库的方法,建议使用第一种方法,如果第一种安装出现错误时再使用第二种方法。
第一种方法:pip安装
1、打开cmd命令,输入pipinstallrequests尾行出现:Successfullyinstalled,表示安装成功
2、导入importrequests没有报错也表示安装成功
第二种方法:下载包再安装
2、pipinstall下载下来的文件全名,即可完成安装;
Requests的简单用法
Requests库的七个主要方法
PS:常用requests.get()方法和requests.post()方法;
Response对象的属性:
爬虫协议属性:拦截所有的机器人:User-agent:*Disallow:/
允许所有的机器人:User-agent:*Disallow:
爬虫建议
1.什么是Xpath
XPath即为XML路径语言(XMLPathLanguage),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快的被开发者采用来当作小型查询语言。
2.Xpath解析网页的流程
3.常用的网页解析
PS:正则表达式使用比较困难,学习成本较高
BeautifulSoup性能比较慢,相对于Xpath较难,在某些特定场景下有用
Xpath使用简单,速度快(Xpath是lxml里面的一种),是抓取数据最好的选择
4.Xpath的安装
第一种方法:直接使用pip安装
在命令行输入:pipinstalllxml
第二种方法:手动安装
下载完成后:命令行输入pipinstall+下载文件路径和文件名
检查安装:
importlxml导入,没有返回错误说明安装成功
Xpath的使用
1.使用Xpath解析网页数据的步骤
从lxml导入etree-->解析数据,返回xml结构-->使用.xpath()寻找和定位数据
第一种方法:从浏览器直接复制
对于结构清晰的html网页,可以直接手写Xpath,更加简洁高效;
对于结构复杂的html网页,可以直接通过浏览器复制的方式获取Xpath;
例二
Xpath的基本使用:
正则表达式
BeautifulSoup
安装:pipinstallpandas
numpy:(NumericalPython的简称)是高性能科学计算和数据分析的基础包
pandas:基于Numpy创建的Python包,使数据分析工作变的更加简单的高级数据结构和操作工具;
matplotlib:创建出版质量图表的绘图包
常见的导入方法:
PS:pandas、numpy和matplotlib都需要先安装通过pip或者下载安装的方式
pandas保存数据到Excel
先安装openpyxl第三方库:pipinsatllopenpyxl
浏览器抓包及headers设置
分析具体网页请求:
实战爬取知乎
该问题可以通过添加hearders请求信息解决
添加headers请求信息模拟浏览器访问
在爬虫在添加请求头信息且保存
什么是MongoDB
MongoDB是一个高性能、开源、无模式的文档型数据库,MongoDB将数据存储为一个文档,数据结构由键值(key==>value)组成