o. 抓取

1. urllib内建模块
— urllib.request

2. Request第三方库

**Request库:**

Requests 库是最简单、方便和人性化的Python HTTP第三方库。Requests 官网:http://www.python-requests.org/ 。

注:有的网站有自己的爬虫协议,如豆瓣网(https://book.douban.com/robots.txt), 有“robots.txt”就说明存在。

基本方法 说明
request.get() 请求获取指定URL位置的资源,对应HTTP协议的GET方法。

发送请求获得一个Response对象,这个对象包含Resquest请求信息和服务器的Response响应信息,而Requests会自动解码来自服务器的信息。假设响应内容是二进制形式的,可以通过re.content进行解码,re.text自动推测文本编码并进行解码,re.encoding修改文本编码。

import requestsr = requests.get('https://book.douban.com/subject/1084336/comments/')r.status_code
Out[4]: 200r.text
import requests
re = requests.get('http://money.cnn.com/data/dow30')
print(re.text)

3. Scrapy框架

o. 解析

1. BeautifulSoup库
BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库。官方网站:https://www.crummy.com/software/BeautifulSoup/bs4/doc 。

BeautifulSoup对象 说明
Tag HTML或XML文档中的标签;Tag属性的操作和字典一样;Tag对象最重要的属性包括name(获得名字)和attribute()
BeautifulSoup 大部分内容都是Tag
NavigableString Tag当中的字符串。NavigableString对象可以用string属性来表示,取Tag中包含的非属性的字符串。
Comment NavigableString的一个子类
from bs4 import BeautifulSoup
markup = '<p class="title"><b>The Little Prince</b></p>' # 定义一个字符串
soup = BeautifulSoup(markup, 'lxml') # 生成一个BeautifulSoup对象的soupsoup.b # 任何的标签内容都可以用“BeautifulSoup对象.tag”形式访问得到
Out[22]: <b>The Little Prince</b>type(soup.b) #查看类型
Out[23]: bs4.element.Tag
tag = soup.ptag.name # 通过name属性获得名字
Out[25]: 'p'tag.attrs
Out[26]: {'class': ['title']}tag['class'] # 通过字典形式获得属性
Out[27]: ['title']
tag.string # NavigableString对象可以用string属性来表示
Out[28]: 'The Little Prince'type(tag.string)
Out[29]: bs4.element.NavigableString
soup.find_all('b') # 寻找所有b标签的内容
Out[30]: [<b>The Little Prince</b>]soup.find()# 只需要找第一个标签内容
Out[31]: <html><body><p class="title"><b>The Little Prince</b></p></body></html>

2. re模块(正则表达式模块)
re正则表达式模块进行各类正则表达式处理。参考网站:https://docs.python.org/3.5/library/re.html 。

2/2 数据获取:网络数据的获取相关推荐

  1. 股票应用开发——网络数据的获取(一)

       一.背景 之前很少写技术博客一方面是怕自己的技术不到家,把大家带到坑里:另一方面就是自己太懒了.现在鼓起勇气把自己的心得体会以及项目的实现思路展现给大家.希望和大家一起学习一起进步! 下面说一下 ...

  2. 如何通过网络数据的获取,做出这些数据分析项目?

    作者 | AlfredWu 来源 | Alfred数据室 最近有很多人在问,我是如何收集网络的数据,如何进行数据处理.数据分析以及可视化呈现的. 也有人问的更具体,关于Python数据分析的一些问题. ...

  3. matlab导入桌面excel数据库,matlab导入excel数据_excel怎么导入网络上的数据?_excel导入网络数据...

    网络上的数据怎么导到excel中.有方法是直接复制然后粘贴到excel中,但是网络上直接复制过来的,可能不能直接进去下一步编辑.因为复制过来的每个词后面都有空格,是不能进行直接计算,连最基本的求和都不 ...

  4. iOS 优雅的处理网络数据,你真的会吗?不如看看这篇.

    本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 HelloWorld杰少 即可关注. 相信大家平时在用 App 的时候, 往往有过这样的体验,那就是加载网络数据等待的时间过于漫长,滚 ...

  5. Swift实战-豆瓣电台(三)获取网络数据

    原文:Swift实战-豆瓣电台(三)获取网络数据 观看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html 这节内容,我们先说了怎么将storyboar ...

  6. android—获取网络数据

    取网络数据主要靠发交易(或者说请求,接口等),而这些交易由java中的网络通信,HttpURLConnection和HttpClient实现,以下是具体例子. 大家都知道,网络通信,发送请求有两种方式 ...

  7. android天气查询(二)之网络json数据的获取

    前面一篇文章介绍了如何使用ksoap获取天气信息,但是使用的网络资源受到了限制,所以我们这里会采用第二种方法,可以无限制的获取.http://m.weather.com.cn/data/1010101 ...

  8. 安卓 原生okhttp使用get与post获取网络数据

    网址 https://square.github.io/okhttp/ 配置 依赖 在module的build.gradle中: implementation 'com.squareup.okhttp ...

  9. java外部接口图解_java代码实现访问网络外部接口并获取数据的工具类详解

    java代码实现访问网络外部接口并获取数据的工具类 工具类代码,可以直接copy使用 package com.yqzj.util; import org.apache.log4j.LogManager ...

最新文章

  1. 数字图像处理:第二十三章 基于内容的图象与视频检索
  2. Scala学习(二)--- 控制结构和函数
  3. 再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
  4. [功能发布]Excel与PowerBI互通互联升级版连接SSAS和AzureAS
  5. 数据科学 IPython 笔记本 8.4 简单的折线图
  6. 搜索引擎蜘蛛及网站robots.txt文件详解[转载]
  7. 初学者C语言输入输出挖坑填补处须知
  8. python os 的坑_Python踩坑之旅其二裸用os.system的原罪
  9. 安装FileFormatConverters,出现错误“无法使用此产品的安装源。请确认安装源存在,并且您可以访问它”
  10. 绕过广告拦截插件的解决方案
  11. html 文件 转换成mp4视频,[swf转视频]一个带有Play播放按钮的swf文件怎么转换成mp4视频...
  12. 【上汽零束SOA】云管端一体化SOA软件平台系列介绍之二:数字架构篇
  13. Qt之小学徒学习记录分享
  14. Python open和with open的区别
  15. 研究了一晚上,填补了中国古代神话中的一些空白
  16. 微信对账单 java_java下载微信对账单,实现与微信实收对账和日清日结对账
  17. DWZ表单验证规则一览表
  18. Presto 0.224个人笔记
  19. 图片压缩的正确打开方式
  20. vanilla-tilt.js: 一个平滑的3D倾斜javascript库。

热门文章

  1. python安装成功第三方库但import出问题_解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程...
  2. 手电筒java_Java鼠标“手电筒”效果如何?
  3. c语言字符密码验证码,c语言下的学生管理系统(含密码加密和验证码).docx
  4. mysql创建索引小案例
  5. hbase查询_【从零单排HBase】HBase高性能查询揭秘
  6. 进制转换问题---例如把26进制转为10进制
  7. 剑指offer 顺时针打印矩阵
  8. python科学计算笔记(三)pandas中Series和DataFrame练习
  9. 推荐系统(工程方向)-策略平台
  10. Elasticsearch检索分类详解