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

wordpress使用云数据库连接全国最好网络优化公司

wordpress使用云数据库连接,全国最好网络优化公司,没有公司网站如何做推广,上海 建设工程质量监督站网站本文来源于公众号【程序猿声】,作者周云猛启 大家好,我是新来的小编小周。今天给大家带来的是python爬虫入门,文章以简为要,引导初学者快速上手爬虫。话不多说,我们开始今天的内容。在初步学习爬虫之前,我们…

本文来源于公众号【程序猿声】,作者周云猛

1240

大家好,我是新来的小编小周。今天给大家带来的是python爬虫入门,文章以简为要,引导初学者快速上手爬虫。话不多说,我们开始今天的内容。在初步学习爬虫之前,我们先用一个例子来看看爬虫是什么。

1240

A同学想要了解python是一种怎样的语言,于是打开了某度搜索引擎,却发现占据屏幕的是各类python学习课程的广告,而真正介绍python的内容却被放在了后面。事实上,在大多数时候,我们用浏览器获得的信息是十分繁冗的,因此筛选提取网页中对我们有用的数据就显得十分必要了。我们的爬虫程序要做的便是:模拟浏览器发送请求-->获取网页代码-->筛选提取数据-->存放数据。

1240

前期准备

爬虫程序中需要用到一些第三方库,我们这里使用的是requests库和BeautifulSoup4库。话不多说,让我们先来做好这些准备。(笔者使用的是IDLE3.8版本编辑器,及win系统)

requests 2.22.0下载地址:https://pypi.org/project/requests/#files BeautifulSoup4 4.8.2下载地址:https://pypi.org/project/beautifulsoup4/#files

python3.0以上版本一般自带pip(可提供对第三方库的下载安装等),故第三方库下载后可直接进行安装。1. 打开cmd

1240

2. 若python安装在启动盘(一般是C盘)直接键入“pip install requests”命令即可。

1240

3. 若python不在启动盘则键入“d:”然后“cd python.exe所在目录”,直接键入 ”python -m pip install requests”命令即可。

1240

(BeautifulSoup4库安装步骤相同)

发送请求

模拟浏览器发送请求时,我们可以使用requests库帮助我们。下面给出requests库的7个主要方法:

1240

发送请求后,服务器会接受请求,并返回一个response。

1240

response作为一个对象,具有如下常用属性:

1240

接下来,我们以访问百度主页的代码为例来看看吧!

import requests

url="http://www.baidu.com/"

res=requests.get(url)

print(res.status_code)

200

其中,我们介绍一下requests.get()函数的带参数形式。params是字典或字节序列,可以添加到url中;****headers是HTTP的定制头等等。我们以headers为例,headers是HTTP的定制头,一些服务器在处理requests请求时会识别请求头,并拦截python爬虫。

import requests

url="http://www.zhihu.com/"

res=requests.get(url)

print(res.status_code)

400

print(res.request.headers)

{'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

可以看到我们通过python访问知乎首页被拦截了,查看请求头时发现User-agent是python—-requests/2.22.0。下面我们尝试修改请求头伪装成浏览器:

1240

import requests

pre={'User-agent':'Mozilla/5.0'}

res=requests.get("https://www.zhihu.com/billboard",headers=pre)

print(res.status_code)

200

可见,修改请求头后访问成功。利用requests的get方法和response的content属性(图片以二进制形式保存),我们可以下载网络上的一些图片,下面以获取新浪新闻的一张图片为例:

import requests

url="http://www.sinaimg.cn/dy/slidenews/5_img/2015_48/30939_1300019_688168.jpg"

path="D://pics//"+"maomi.jpg"

try:

res=requests.get(url)

with open(path,'wb') as pic:

pic.write(res.content)

pic.close()

print("文件保存成功")

except:

print("爬取失败")文件保存成功

解析内容

Beautiful Soup库是解析、遍历、维护文档树的功能库。

简单地说,BeautifulSoup能够帮助用户将response中的html内容解析,得到一个BeautifulSoup的对象,并且能够以标准的缩进格式输出。我们以知乎热榜网页为例(注意B和S要大写哦):

import requests

from bs4 import BeautifulSoup

pre={'User-agent':'Mozilla/5.0'}

res=requests.get("https://www.zhihu.com/billboard",headers=pre)

rep=res.text

soup=BeautifulSoup(rep,"html.parser")

print(soup)

运行代码后可以看见,已经产生标准缩进格式输出。(截取部分如下图)

1240

这里,我们来认识一下BeautifulSoup类的部分元素:

1240

在代码运行返回的html内容中,可以看见a标签里包含了

等子孙标签,其中包含了我们需要的热榜话题,利用这段代码我们可以获取热榜第一的信息进而获取榜单全部话题。

import requests

from bs4 import BeautifulSoup

pre={'User-agent':'Mozilla/5.0'}

try:

res=requests.get("https://www.zhihu.com/billboard",headers=pre)

res.raise_for_status

rep=res.text

except:

print("连接失败")

try:

soup=BeautifulSoup(rep,"html.parser")

con=soup.find_all('div',class_="HotList-itemTitle")

for i in range(len(con)):

print(con[i].text)

except:

print("获取失败")

我们观察到所有热榜话题所在标签name都是div,属性中都包含class="HotList- itemTitle"。我们使用bs4的find_all函数,返回一个包含许多元素的列表,然后利用text属性提取有用的字符逐个输出。

1240

今天的爬虫入门我们就先讲到这里哦,小周下期继续给大家带来爬虫分享哦!

http://www.lbrq.cn/news/2457469.html

相关文章:

  • 西安本地十家做网站建设的公司网页优化最为重要的内容是
  • 加强 政府 网站 建设项目南宁seo费用服务
  • 网站如何做流量赚钱品牌型网站设计推荐
  • 网站建设需要用到的软件阿里云网站搭建
  • 吉林省建设部网站长尾关键词挖掘精灵官网
  • 移动端网站案例谷歌广告
  • 绍兴网站建设制作百度指数行业排行
  • 纪委网站建设外贸建站与推广如何做
  • 网站的ftp别的公司会给么软文模板app
  • 简述可口可乐公司的企业网站建设seo是什么字
  • 百度网站权重it培训机构排名
  • 做百度网站浙江seo推广
  • 个人主机做网站代运营公司排行榜
  • 网站建设微信公众号小程序制作高端网站建设专业公司
  • 轻松做网站自己如何做链接推广
  • 手机开发者选项开启的好还是关闭的好天津seo渠道代理
  • 广州网站排名优化费用网站的营销策略
  • 江苏省建设厅网站公示河北seo
  • 网页制作成app哈尔滨seo关键词排名
  • 厦门网站建设报价seo网站推广专员
  • 大连专业手机自适应网站建设百度seo招聘
  • 网站上的报名表链接是怎么做的链接生成器在线制作
  • 宣传 网站建设方案廊坊seo优化排名
  • 京东商城网站设计网络安全培训
  • 建站宝盒做的网站互联网推广项目
  • 网站建设要花在哪些项目上网络整合营销理论案例
  • 网站恶意做评论万能软文模板
  • 易点科技网站建设本地推广最好用的平台
  • dw怎么做网站跳转今日足球赛事数据
  • 云南网站优化排名网络软文营销
  • 在Akamai云平台上为UGC流媒体进行实时转码
  • JAVA知识点(三):Spring与ORM框架
  • I/O多路复用机制中触发机制详细解析
  • 【深度学习优化算法】09:Adadelta算法
  • 代码随想录算法训练营第五十三天|图论part4
  • Java学习----原型模式