爬虫公开课学习的一天

学习链接http://stu.ityxb.com/openCourses/detail/238

什么是爬虫:

  网络爬虫就是模拟浏览器发送网络请求 接受请求响应 按照一定规则 自动抓取互联网信息的程序

爬虫的用途:

  数据采集(百度新闻,今日头条)、12306抢票、网络自动投票、

调试工具:    

  Fn+ F12  

      

浏览器的请求过程:

    

 URL规则

    

http请求

      

 

 http请求重要组成部分

  请求URL、请求方式 (post、GET)、请求头 、请求体

http响应格式

  

 http响应重要组成部分

  响应状态码:404、500 、200(成功)

   响应头 、

   响应体(html内容)

Ruquests模块

  是一个python模块,可以模拟浏览器发送请求获取响应

学习资料:

http://cn.python-requests.org/zh_CN/latest/

 安装

pip install requests

爬取网站步骤:

步骤一:分析

  请求url、请求方式、请求头、请求参数

'''
url https://www.baidu.com/baidu?wd=%E7%9F%B3%E5%AE%B6%E5%BA%84%E5%AD%A6%E9%99%A2
请求方式  get
请求头 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
请求参数 ?wd=%E7%9F%B3%E5%AE%B6%E5%BA%84%E5%AD%A6%E9%99%A2
'''

步骤二:模拟浏览器发送请求获取响应

'''
url https://www.baidu.com/baidu?wd=%E7%9F%B3%E5%AE%B6%E5%BA%84%E5%AD%A6%E9%99%A2
请求方式  get
请求头 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
请求参数 ?wd=%E7%9F%B3%E5%AE%B6%E5%BA%84%E5%AD%A6%E9%99%A2
'''
# 1.导入模块
import requests
#2. 模拟发送请求获取响应

response = requests.get(
    url = " https://www.baidu.com/baidu/s",
    headers={
         "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0",
    }

)

#3. 对响应内容结果进行处理
with open ('获取响应内容.html' , 'w',encoding='utf8') as f:
    f.write(response.text)  

 实现自定义请求参数

  

# 1.导入模块
import requests
#2. 模拟发送请求获取响应
# 定义GET请求参数
 
 wd  =  input("请输入你想查询得内容")
 params = {
     "wd" : "wd"
 }
response = requests.get(
    url = " https://www.baidu.com/baidu/s",
    headers={
         "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0",
    },
    params=params

)

#3. 对响应内容结果进行处理
with open ('获取响应内容.html' , 'w',encoding='utf8') as f:
    f.write(response.text)  
response 常用属性
#获取响应状态码.响应头 响应内容
print(response.status_code)
print(response.headers)
print(response.text)
print(response.content)
# 1.导入模块
import requests
#2. 模拟发送请求获取响应
# 定义GET请求参数
 
 wd  =  input("请输入你想查询得内容")
 params = {
     "wd" : "wd"
 }
response = requests.get(
    url = " https://www.baidu.com/baidu/s",
    headers={
         "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0",
    },
    params=params
)

# response 常用属性
# 获取响应状态码.响应头 响应内容
print(response.status_code)
print(response.headers)
print(response.text)
print(response.content)

 模拟浏览器获取讲师页面内容

'''
url http://www.itheima.com/teacher.html
请求方式  get
请求头 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
请求参数 
'''

#1.导入模块
import requests
# 2.发送请求响应
response = requests.get (
    url = " http://www.itheima.com/teacher.html",
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0"}
)
# 3.处理响应
print(response.text)

XPath介绍 :

  通过一定语法规则从html/xml文件中获取数据

XPath语法学习搭建

-XPath基本语法

XPath高级语法使用

使用lxml对html数据进行提取演练

-利用XPath提取教师数据

总结

 

 

 

原文地址:https://www.cnblogs.com/xingyuner/p/12547596.html