Python概述
Python在爬取数据领域非常强大灵活,广泛用于自动化数据收集。常用reque库,用于爬取HTTP获取网页内容;BeautifulSoup和xml,用于解析HTML和XML;Scrapy用于构建和管理大规模爬虫项目;Selenium处理动态网页。
Pyhon能够高效地从互联网获取大量有价值的数据,广泛应用于市场分析,舆情监控、学术研究等领域。
1.1 Python基础
Python是一种计算机程序设计高级语言
1.2 Python特点
- 脚本语言
- 面相对象
- 免费、开源
- 可扩展和可移植
- 丰富的库
Python的应用
人工智能、云计算于大数据、科学计算、自动化运维、网络安全、web应用
1.3 Python的变量及数据类型
- 变量
整形 int、浮点型 float、字符串 str、 布尔型bool、列表list、元祖tuple、字典dict、集合set
n = 7
print(type(n)) // <class ‘int’>
n.tostring()
1.4 条件语句和循环
条件语句:用于基于逻辑条件决定程序流程。常见的条件语句包过 if、elif、和else语句。
x = 10
if x > 5:
print('x大于5')
循环是一种控制结构,它允许你重复执行一段代码多次,直到满足某个条件为止。主要有两种类型的循环:for循环和while循环
fruits = ['a','b','c']
for fruit in fruits:
print(fruit)
i = 1
while i <= 5:
print(i)
i+= 1
函数与模块
函数是组织好的、可重复使用的、用来实现单一或相关功能代码块
def greet(name): // define缩写
print("{name}")
greet('A')
模块的定义
封装
命名空间
便于共享
模块的标准库: 如os、sys、math等,
自定义模块
1.5 文件读写操作
Python通过open()函数,使用with语句可以自动管理文件的打开和关闭
- 打开文件:
open(filename,mode),filename是文件名,mode可以是r读、w写、a追加 - 读取文件:
file.read() - 写入文件:
file.write() - 关闭文件
file.close() - 异常处理:
使用try except捕获并处理
3 网络爬虫
网络爬虫是一个自动提取网页的程序
爬虫模拟的是Web客户端,向服务端发送HTTP请求
用Python实现HTTP请求:
urllib模块,urllib3模块,requests模块
- requests模块
pip install requests
import requests
response = requests.get("http://www.baidu.com")
print(response.status_code)
print(response.txt)
print(response.content)
import requests
data = {}
response = requests.post("http://www.baidu.com",data=data)
print(response.status_code)
print(response.txt)
print(response.content)
BeautifulSoup简介
- 搜索文档树
- CSS选择器
通过属性名查找
print(soup.slect('title'))
通过类名
print(soup.select('.soft'))
通过id名查找
print(soup.select('#link'))
通过组合查找
print(soup.select('p #link'))
print(soup.select('p > a:nth-of-type(1)'))
属性查找
print(soup.select('a[class='']'))