python爬虫(1)-入门教程

1 了解网页

网页一般由三部分组成,分别是 HTML(超文本标记语言)、CSS(层叠样式表)和 JScript(活动脚本语言)。
1)HTML
HTML 是整个网页的结构,相当于整个网站的框架。带“<”、“>”符号的都是属于 HTML 的标签,并且标签都是成对出现的。
2)CSS
CSS 表示样式,图 1 中第 13 行<style type="text/css">表示下面引用一个 CSS,在 CSS 中定义了外观。
3)JScript
JScript 表示功能。交互的内容和各种特效都在 JScript 中,JScript 描述了网站中的各种功能。

2 使用 requests 库抓取网站数据

2.1 爬虫过程分为两个环节
Request (请求):
每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。
Response(响应):
服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求。

2.2 网页请求的方式分为两种
GET:
最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。
POST:
相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。

2.3 代码示例:

import requests #导入requests包
url = 'https://home.firefoxchina.cn/'
response = requests.get(url) #Get方式获取网页数据
print(response.text)#获取网页中的源码

3 使用 Beautiful Soup 解析网页

3.1 Beautiful Soup :
从网页中抓取数据。Beautiful Soup。目前已经被移植到 bs4 库中,需要先安装 bs4 库,再导入 Beautiful Soup 。
3.2 xml:
相比于 Python 默认的解析器,lxml 库具有功能更加强大、速度更快的特点,可以方便提取网页源码信息。

3.3 代码示例:

import requests #导入requests包
from bs4 import BeautifulSoup
url='https://home.firefoxchina.cn/'
response=requests.get(url)
soup=BeautifulSoup(response.text,'lxml')#将复杂的 HTML 文档转换成树形结构
data = soup.select('#site-my-list > ul > li> a') 
#select(选择器)定位数据,可在开发者模式下停留在对应数据上,然后右键‘检查’,对应的右侧高亮数据,右键‘copy’->'copy selector',即可复制路径
print(data)

4 清洗和组织数据

4.1 re:
Python 中调用正则表达式时使用 re 库,对文本进行筛选和提取

4.2 代码示例:

import re
import requests #导入requests包
from bs4 import BeautifulSoup
url='https://home.firefoxchina.cn/'
response=requests.get(url)
soup=BeautifulSoup(response.text,'lxml')#将复杂的 HTML 文档转换成树形结构
data = soup.select('#site-my-list > ul > li> a') 
for item in data: 
result={
  "title":item.get_text(),
  "link":item.get('href'), 
  'ID':re.findall('\d+',item.get('href'))
   }
#re 库的 findall 方法,第一个参数表示正则表达式,第二个参数表示要提取的文本。'\d'匹配数字,'+'匹配前一个字符1次或多次
print(result)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值