一、网络数据采集
涉及内容:
数据库、网络服务器、HTTP协议、HTML语言、网络安全、图像处理、数据科学等内容。
二、开发环境
- Python版本:Python3.5
- 操作系统 : Win10
- IDE : 系统IDLE 、Pycharm
三、相关库
- urllib
- requests
- selenium
- re
- BeautifulSoup
- selenium
- threading 、 muitiprocess
- mysql.connector
- xlsxwriter
- scrapy
四、步骤工具
(一) 获取网页,请求数据
- urllib
- requests
- selenium
1、
from urllib.request import urlopen
html = urlopen(url)
# html.read() 为未处理的二进制网页源代码
soup = BeautifulSoup(html.read(), 'lxml') #网页源代码
#加不加 .read 好像没差
2、
import requests
html = requests.get(url, headers=headers)
# html.text 为未处理的网页源代码
soup = BeautifulSoup(html.text, 'lxml')
# 得加 .text
3、
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(url)
driver.page_source #为未处理的网页源代码
(二) 提取内容
- re
- BeautifulSoup
- selenium
1、
re 匹配
2、
BeautifulSoup
find、 find_all、 select
网页标签,selector
3、
find_elements...
网页标签,selector,xpath
(三) 下载内容
- open...write
- urllretrieve
- requests
下载图片等文件
1、
from urllib.request import urlretrieve
urlretrieve(url, filename=None, reporthook=None, data=None)
2、
html = urlopen(imageUrl)
data = html.read()
f= open(fileName,'wb')
f.write(data)
f.close()
3、
import requests
picture = requests.get(url, headers=headers)
if picture.status_code == 200:
open(path, 'wb').write(picture.content)
(四) 储存
- csv
- xlsxwriter
- mysql.connector
- pymongdb
(五) 模拟浏览器
selenium
splinter
(六) 中级爬虫框架
- scrapy