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

深圳住房和建设局网站认租申请网络推广和网站推广的关系

深圳住房和建设局网站认租申请,网络推广和网站推广的关系,免费建站手机软件,中国建筑网官网防水证书查询在各大编程语言中,初学者要学会编写的第一个简单程序一般就是“Hello, World!”,即通过程序来在屏幕上输出一行“Hello, World!”这样的文字,在Python中,只需一行代码就可以做到。我们把这第一个爬虫就称之为“HelloSpider”&…

在各大编程语言中,初学者要学会编写的第一个简单程序一般就是“Hello, World!”,即通过程序来在屏幕上输出一行“Hello, World!”这样的文字,在Python中,只需一行代码就可以做到。我们把这第一个爬虫就称之为“HelloSpider”,见下例。

import lxml.html,requests
url = 'https://www.python.org/dev/peps/pep-0020/'
xpath = '//*[@id="the-zen-of-python"]/pre/text()'
res = requests.get(url)
ht = lxml.html.fromstring(res.text)
text = ht.xpath(xpath)
print('Hello,\n'+''.join(text))

运行结果:
在这里插入图片描述
代码分析:

  1. 导入模块
import lxml.html,requests

这里我们使用import导入了两个模块,分别是lxml库中的html以及python中著名的requests库。lxml是用于解析XML和HTML的工具,可以使用xpath和css来定位元素,而requests则是著名的Python HTTP库,其口号是“给人类用的HTTP”,相比于Python自带的urllib库而言,requests的有着不少优点,使用起来十分简单,接口设计也非常合理。实际上,对Python比较熟悉的话就会知道,在Python 2中一度存在着urllib, urllib2, urllib3, httplib, httplib2等一堆让人易于混淆的库,可能官方也察觉到了这个缺点,Python 3中的新标准库urllib就比Python 2好用一些。曾有人在网上问道“urllib, urllib2, urllib3的区别是什么,怎么用”,有人回答“为什么不去用requests呢?”,可见requests的确有着十分突出的优点。同时也建议读者,尤其是刚刚接触网络爬虫的人采用requests,可谓省时省力。

  1. 定义变量
url = 'https://www.python.org/dev/peps/pep-0020/'
xpath = '//*[@id="the-zen-of-python"]/pre/text()'

这里我们定义了两个变量,Python不需要声明变量的类型,url和xpath会自动被识别为字符串类型。url是一个网页的链接,可以直接在浏览器中打开,页面中包含了Python之禅的文本信息。xpath变量则是一个xpath路径表达式,我们刚才提到,lxml库可以使用xpath来定位元素,当然,定位网页中元素的方法不止xpath一种,以后我们会介绍更多的定位方法。

  1. re get 数据
res = requests.get(url)

使用了requests中的get方法,对url发送了一个HTTP GET请求,返回值被赋值给res,于是我们便得到了一个名为res的Response对象,接下来就可以从这个Response对象中获取我们想要的信息。

  1. 处理html
ht = lxml.html.fromstring(res.text)

lxml.html是lxml下的一个模块,顾名思义,主要负责处理HTML。fromstring方法传入的参数是res.text,即刚才我们提到的Response对象的text(文本)内容。在fromstring函数的doc string中(文档字符串,即此方法的说明)说道,这个方法可以“Parse the html, returning a single element/document.”即fromstring根据这段文本来构建一个lxml中的HtmlElement对象。

  1. 输出
text = ht.xpath(xpath)
print('Hello,\n'+''.join(text))

这两行代码使用xpath来定位HtmlElement中的信息,并进行输出。text就是我们得到的结果,“.join()”是一个字符串方法,用于将序列中的元素以指定的字符连接生成一个新的字符串。因为我们的text是一个list对象,所以使用‘’这个空字符来连接。
如果不进行这个操作而直接输出:程序会报错,出现‘TypeError: Can’t convert ‘list’ object to str implicitly’这样的错误。当然,对于list序列而言,我们还可以通过一段循环来输出其中的内容。

思考
通过刚才这个十分简单的爬虫示例,我们不难发现,爬虫的核心任务就是访问某个站点(一般为一个URL地址)然后提取其中的特定信息,之后对数据进行处理(在这个例子中只是简单地输出)。当然,根据具体的应用场景,爬虫可能还需要很多其他的功能,比如自动抓取多个页面、处理表单、对数据进行存储或者清洗等等。
其实,如果我们只是想获取特定网站所提供的关键数据,而每个网站都提供了自己的API (应用程序接口,Application Programming Interface),那么我们对于网络爬虫的需求可能就没有那么大了。毕竟,如果网站已经为我们准备好了特定格式的数据,只需要访问API就能够得到所需的信息,那么又有谁愿意费时费力地编写复杂的信息抽取程序呢?现实是,虽然有很多网站都提供了可供普通用户使用的API,但其中很多功能往往是面向商业的收费服务。另外,API毕竟是官方定义的,免费的格式化数据不一定能够满足我们的需求。掌握一些网络爬虫编写,不仅能够做出只属于自己的功能,还能在某种程度上拥有一个高度个性化的“浏览器”,因此,学习爬虫相关知识还是很有必要的。

http://www.yayakq.cn/news/553811/

相关文章:

  • 移动网站建设作业电子商务交易平台
  • 泸州城建设档案管网站高德地图是国产软件吗
  • 网站编写怎么创建一个视频网站
  • 如何做产品网站的推广wordpress码字主题
  • 可以做婚礼鲜花布置的网站html美食网页制作代码
  • 郑州汉狮做网站多少钱网站忘记密码功能
  • 企业网站建设有哪些好处合肥网站排名推广
  • 不想用原来的网站模板了就用小偷工具采集了一个可是怎么替换wordpress的主机要求
  • 集团网站群建设承德信息港
  • python做博客网站晋中市两学一做网站
  • php响应式网站模板网站模版 小清新
  • 做彩票网站违法荆门网站seo
  • 建设应用型网站的意义高质量软文
  • 品牌网站建设创意新颖为什么做这个网站反馈问题
  • 哈尔滨百姓网免费发布信息网络优化方案案例
  • 网站后端开发网页版传奇怎么开
  • 广州市网站建设怎么样江苏省建设教育协会网站首页
  • 本地dedecms网站ui培训周末班
  • 做视频网站视频源wordpress支持大数据处理
  • 网站建设要学会什么软件做网站最好的工具
  • 宜昌做网站公司有哪些网站广州最穷的三个区
  • 优秀网站建设平台南京注册公司多少钱
  • 北京住房城乡建设部网站首页jquery个人网站开发
  • 网站反链接是什么意思手机如何创建网页链接
  • 做视频广告在哪个网站能够赚钱企业网站建设套餐价格
  • 漯河市万金镇网站建设国内永久免费建站
  • 网页设计与网站开发课程设计高端企业网站 程序
  • 贵州交通建设集团网站php源码怎么搭建网站
  • 广州做网站优化费用h5制作多少钱
  • 铁岭市做网站网页设计报告模版