⽤pycharm进⾏python爬⾍的步骤_使⽤Pycharm写⼀个⽹络
爬⾍
在初步了解⽹络爬⾍之后,我们接下来就要动⼿运⽤Python来爬取⽹页了。
我们知道,⽹络爬⾍应⽤⼀般分为两个步骤:
1.通过⽹页链接获取内容;
2.对获得的⽹页内容进⾏处理
这两个步骤需要分别使⽤不同的函数库:requests和beautifulsoup4。所以我们要安装这两个第三⽅库。
continues是什么意思我所⽤的编辑器是 Pycharm,它带有⼀整套可以帮助⽤户在使⽤Python语⾔开发时提⾼其效率的⼯具,⽐如调试、语法⾼亮、Project管理、代码跳转、智能提⽰、⾃动完成等。本次安装第三⽅库是在Pycharm下进⾏安装的。
Pychram安装第三⽅库:
安装第三⽅库有很多⽅法,我这⾥⽤的是Pycharm⾃带功能进⾏下载安装:(当然也可以⽤pip⽅法进⾏
安装)
python请求并解析json数据打开:File→Settings→Project: cc(这⾥的⽂件名是cc)→Project Interpreter ,就会显⽰你已经安装好的库。
这⾥我已经安装好了requests和beautifulsoup4库,所以下图显⽰出来了。
点击“+”,在弹出的搜索框中输⼊要安装第三⽅库的名称,例如“requests”。
在弹出的选项中选中需要安装的库后,点击“Install Package”。待下载完成后就安装成功了。
同理,安eautifulsoup4时,在搜索框⾥搜索“beautifulsoup4”,进⾏安装就可以了、
下⾯介绍⼀下第三⽅库:
requests库
requests库是⼀个简洁且简单的处理HTTP请求的第三⽅库,它的最⼤优点是程序编写过程更接近正常URL访问过程。这个库建⽴在Python语⾔的urllib3库的基础上,类似这种在其他函数库之上再封装功能、提供更友好函数的⽅式在Python 语⾔中⼗分常见。requests库⽀持⾮常丰富的链接访问功能,包括国际域名和URL获取、HTTP长连接和连接缓存、HTTP会话和Cookie保持、浏览器使⽤风格的SSL验证、基本的摘要认证、有效的键值对Cookie记录、⾃动解压缩、⾃动内容解码、⽂件分块上传、HTTP(S)代理功能、连接超时处理、流数据下载等。
如何使⽤requests库?requests库提供了⼀些常⽤函数如下:
requests库中的⽹页请求函数
函数
描述
get(url, [timeout=n])
对应于HTTP的GRT⽅式,获取⽹页最常⽤的⽅法,可以增加timeout=n参数,设定每次请求超时时间为n秒
post(url,data={''key}:''value)
对应于HTTP的DELETE⽅式
delete(url)
对应于HTTP的HEAD⽅式
为什么说霹雳布袋戏可怕head(url)
对应于HTTP的HEAD⽅式
option(url)
对应于HTTP的OPTION⽅式
put(url,data={'key':'value'})
对应于HTTP的PUT⽅式,其中字典⽤于传递客户数据
⼀般运⽤这些函数的⽅法是requests.函数名(),不同的函数有不同的功能。
importrequests
("www.baidu/")
)python web
代码运⾏结果为:
和浏览器的交互过程⼀样,⽤()代表请求,它返回的Response代表响应。返回的内容作为⼀个对象更便于操作,下⾯是Response对象的属性
Response对象的属性
属性
描述
status_code
HTTP请求的返回状态,整数,200表⽰连接成功,404表⽰失败
text
HTTP响应内容的字符串形式,即url对应的页⾯内容
encoding
HTTP响应内容的编码⽅式
content
HTTP响应内容的⼆进制形式
importrequests
("www.baidu/")print(r.status_code))ding)t)
运⾏结果如下,可以看到爬取⽹页的⼀系列信息。
Response对象还有⼀些⽅法。
Response对象的⽅法
⽅法
描述
json()
如果HTTP响应内容包括JSON格式数据,则该⽅法解析JSON数据
raise_for_status()
如果不是200,则产⽣异常
使⽤requests 库获取HTML页⾯并将其转换成字符串后,需要进⼀步解析HTML页⾯格式,提取有⽤信息,这需要处理HTML和XML的函数库。
beautifulsoup4库
beautifulsoup4库,也称为Beautiful Soup 库或bs4库,⽤于解析和处理HTML和XML。需要注意的是,它不是BeautifulSoup库。它的最⼤优点是能根据HTML和XML语法建⽴解析树,进⽽⾼效解析其中的内容。
HTML建⽴的Web页⾯⼀般⾮常复杂, 除了有⽤的内容信息外,还包括⼤量⽤于页⾯格式的元素,直接解析⼀个Web⽹页需要深⼊了解HTML语法,⽽且⽐较复杂。beautifulsoup4 库将专业的Web页⾯格式解析部分封装成函数,提供了若⼲有⽤且便捷的处理函数。
beautifulsoup4库采⽤⾯向对象思想实现,简单地说,它把每个页⾯当作⼀个对象,通过.的⽅式调⽤对象的属性(即包含的内容),或者
的⽅式调⽤对象的属性(即包含的内容),或者通过
例如:
from bs4 import BeautifulSoup
获得,下⾯是BeautifulSoup中常⽤的⼀些属性:
HTML中主要结构都变成了BeautifulSoup对象的⼀个属性,可以通过.获得,下⾯是BeautifulSoup中常⽤的⼀些属性:
BeautifulSoup对象的常⽤属性
属性
描述
head
HTML页⾯的
内容
title
HTML页⾯标题,在
之中,由标记
body
HTML页⾯的
内容
p
HTML页⾯中第⼀个
内容
strings
HTML页⾯所有呈现在Web上的字符串,即标签上的内容
stripped_strings
HTML页⾯所有呈现在Web上的⾮空格字符串
importrequestsfrom bs4 importBeautifulSoup
("www.baidu/")
在服务器上如何安装网站源码结果如下:
BeautifulSoup属性与HTML属性的标签名称相同。每⼀个Tag标签在beautifulsoup4库中也是⼀个对象,成为Tag对象。所以可以通过Tag对象的属性多的相应的内容,Tag对象的属性如下所⽰:
div水平垂直居中标签对象的常⽤属性
属性
描述
name
字符串,标签的名字,⽐如div
attrs
字典,包含了原来页⾯Tag所有的属性,⽐如href
contents
列表,这个Tag下所有⼦Tag的内容
string
字符串,Tag所包围的⽂本,⽹页中真实的⽂字
importrequestsfrom bs4 importBeautifulSoup
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论