网站运营推广公司,商城网站建设案例,家有购物官网,公司网站建设费分录注#xff1a;本系列专栏需要有简单的python3 语言基础 爬虫的相关作用在此就不再说明#xff0c;相信能够点进该系列文章的读者都已经了解了爬虫是什么#xff0c;并且能够做什么。由于是发布在互联网的文章#xff0c;所以系列文章都不以书籍的方式从头到尾的叙述作用及其…注本系列专栏需要有简单的python3 语言基础 爬虫的相关作用在此就不再说明相信能够点进该系列文章的读者都已经了解了爬虫是什么并且能够做什么。由于是发布在互联网的文章所以系列文章都不以书籍的方式从头到尾的叙述作用及其一些简介。文章将快速的进入爬虫的开发讲解。
开始
爬虫一般的实现流程如下 首先向一个 Url 地址发送请求随后远端服务器将会返回整个网页。常规情况下当我们使用浏览器访问网站也是这么一个流程用户在浏览器输入一个地址浏览器将会发送一个服务器请求服务器返回请求的内容随后浏览器解析内容。 其次发送请求后将会得到整个网页的内容。 最后通过我们的需求去解析整个网页通过正则或其它方式获取需要的数据。
发送请求 获取网页
一般情况下发送请求和获取网页是相互实现的通过请求后就会得到网页数据。 我们使用requests 库进行web的请求。 代码编写如下
import requestsurlhttps://www.baidu.com/
headers {User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36}
htmlrequests.get(url,headersheaders)
print(html.text)import requests引入 requests 模块urlhttps://www.baidu.com/设置要请求的url值这里为百度headers为了更好的伪造自己是浏览器访问的需要加一个头让自己看起来是通过浏览器访问htmlrequests.get(url,headersheaders)requests使用get方法请求网站为url设置的值头部为headersprint(html.text)显示返回的值html中的text文本text文本则为网页的源代码
解析网页
接下来需要使用一个库 BeautifulSoup库BeautifulSoup 是灵活方便的网页解析库使用bs4BeautifulSoup 可以快速的使我们获取网页中的一般信息。例如我们需要获取刚刚得到网页源码中的title标题首先引入 bs库
from bs4 import BeautifulSoup随后使用 beautifulsoup 进行解析html.parser 代表html的解析器可以解析html代码其中 html.text 为网页源码为html如下
val BeautifulSoup(html.text, html.parser)解析完成后如果想获取标题值则直接使用 .title 进行获取
print(val.title)运行结果如下 完整代码如下
import requests
from bs4 import BeautifulSoupurlhttps://www.baidu.com/
headers {User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36}
htmlrequests.get(url,headersheaders)
val BeautifulSoup(html.text, html.parser)
print(val.title)如果想进行抓取文件的保存可以如下方式编写代码
f open(rD:\html.html,modew)
f.write(html.text)
f.close() 以上代码将网页的源代码保存至D盘根目录下完整代码如下
import requests
from bs4 import BeautifulSoupurlhttps://www.baidu.com/
headers {User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36}
htmlrequests.get(url,headersheaders)
val BeautifulSoup(html.text, html.parser)
print(val.title)
f open(rD:\html.html,modew)
f.write(html.text)
f.close() 以上代码可能会出现编码不一致出现“乱码”的情况可以通过以下方式解决
f open(rD:\html.html,modew,encodingutf-8)在open函数中添加编码为 utf-8 即可。最终打开保存的文件如下 由于有些资源是动态加载获取的链接有时效性所以并没有显示。
这样最简单的一个爬虫就解决了下一篇将继续深入了解爬虫。