呆鸟的Python数据分析

Python笔记——爬虫准备

2020-04-13  本文已影响0人  没昔

爬虫前的准备:

下载库文件包:requests bs4(BeautifulSoup)

解析工具:lxml  html5lib

下载分词工具:wordcloud

怎么使用:将对应版本镜像放在scripts里面,利用命令进入这个路径中

linux:  敲命令的时候  在所在的路径中如果确定存在 根据你的记忆  word+tab(自动补充)

pip install 版本镜像(文件存在  使用tab 进行全名补充)

你是先打开的cmd,进入了对应文件路径,你再导入文件

复制名字(带文件名后缀)

https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud  镜像网址  之后我们还会用到

jieba

词云的生成

数据分析:其实对编程和代码的逻辑没有很强(要求没有Java那么强)

其实就是利用python的库文件对周边工具或者周边数据进行处理

最终我们在数据中得到一些有价值的结论工作

爬虫知识:

初学:主要就是学习requests和BS的使用,并且利用对应的解析器进行标签的结构处理

第一步:导包

第二步:介绍:我们的所谓的网络,统称为万维网(www),将一个可以移动的程序看成了一个类似于网络虫子的东西

爬虫(一段程序去请求服务器,去获取对应服务器的数据)

(脚本/外挂):可以使一些方法变得快速而且简单的程序叫做脚本/使一些方法超越了一些限制,实现了几乎不可能完成的事情,辅助的东西就叫做脚本

第三步:

利用工具实现爬虫访问

requests:模拟浏览器发出的请求(http),访问所在网页的服务器,获取服务器的网页结构、数据、图片、文件

json

bs:如果请求到了一些数据的集合结构等,通过bs进行解析结构

lxml(解析器):利用解析器进行解析

第四步:

会出现IP被封掉的情况,XXX链接主机关闭了,出现错误10061  10053,千万不能进行违法行为

第五步:

实现一个简单的DEMO,选定一个目标网站

"""

import requests

from bs4import BeautifulSoup

import lxml

# 1.选定一个目标路径

url ='https://*****.html'

# 2.发起请求(http) 请求方式(7种 get/post)

# get:显式请求,可以看到请求的参数以及请求的数据,但是地址栏有大小的限制

# post:隐式请求,不知可以看到请求的参数和数据,地址栏没有大小限制

response = requests.get(url=url)

# 3.查看请求是否成功  状态码:404(找不到路径)  200  305  300  500(页面代码错误)  405(请求方式错误)

print('状态码:',response.status_code)

# 4.查看下编码  ===  防止乱码  就要设置与请求的页面相同的编码

# print(response.encoding)    #目前浏览器的请求编码

response.encoding ='gbk'

# print(response.encoding)

# 5.将成功请求的页面转成html(可以进行打印的结构)  text(针对文本的字符流)  content(字节流图片)

html = response.text

# print(html)

#6.对html进行解析

soup = BeautifulSoup(html,'lxml')

# 7.通过解析器产生的对象进行对标签中数据的提取(小说文章的提取)

# find()找到第一个出现的标签  find_all(找到全部出现的标签)  find(attrs={'id':'name','class':'age'})

# 控制选择器的方法  select()找到全部为该选择器属性的标签  select_one()找到一个为该选择器属性的标签

soup_text = soup.find_all('div',class_='showtxt')

texts = soup_text[0].text#将里面的文本内容逐条拿出来

# 8.去除空格和空行  正则表达式

texts = texts.replace("'\xa0'*8",'\n\n')#替换文本

# 9.下载

file =open('***.txt','w',encoding='utf-8',newline='')

# 10.写入

file.write(texts)

# 11.关闭文件流

file.close()

print('下载成功')

上一篇下一篇

猜你喜欢

热点阅读