Python学习之requests、 BeautifulSoup(一)

总述

爬虫主要用于互联网数据的有效收集,例如各地区房价的数据、各地区人均收入的统计、以及视频评分的统计等。收集的数据后用来进行数据分析。

主要库介绍

  • requests 顾名思义可以看出这是一个http的请求库,主要用于网站数据的请求下载。
import requests 

#请求数据
requests.get(url)  #请求数据下发,此处由于有些网站有放爬虫机制,可以改变header模拟浏览器


headers = {
    
    
      "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
}
response = requests.get( url , headers=headers)

#获取数据
response.text  #解码后的文本
response.content  #网络传输的二进制数据,例如一个api请求图片下载可以用着来保存到本地文件
  • BeautifulSoup(bs4) 解析html页面数据
from bs4 import BeautifulSoup 

soup = BeautifulSoup(response.text,'lxml')  #第二参数为解析引擎可以更改
#常用方法
soup.find("li" , class_ = "list-item") #第一个参数html标签,第二个参数css类,查找到一个结束
soup.findall()#与上同,搜索所有满足条件的对象	
soup.select("") 
'''
'.类名'  css类查找 
'#id'    标签id查找
'标签 #id(包括子标签)
'父标签 > 子标签'  层级查找
'''

  • re 正则
import re

rule = re.compile("")   #建立规则
'''
  {} 长度    
  ^ 开头     
  \d 表明整数    
  \w表明包含下划线的字母     
  [^xyz] 匹配未被包含的任意字符     
  \s 匹配空格符     
  \S 匹配非空格字符串     
  () 表明一组,正则也按分组返回
  ?P<""> 分组命名	
'''
re.findall(rule, obj_str)
  • pandas

爬取到数据可以保存到数据库去,例如:mysql,MongoDB,为了方便此处保存到csv文件。

import pandas as pd
'''
analyse_array_1 = [] #假设此处为采集到的数据
analyse_array_2 = [] #假设此处为采集到的数据
analyse_array_3 = [] #假设此处为采集到的数据
#合并
analyse_array = zip(analyse_array_1,analyse_array_2,analyse_array_2)
'''

#转换pandas数据格式
pd_csv_data = pd.DataFrame(analyse_array ,columns =["c1", "c2", "c3"])

#保存
pd_csv.to_csv(csv_path, index=False , encoding="gb18030")

猜你喜欢

转载自blog.csdn.net/tulongyongshi/article/details/108678813