python爬虫基本知识

yizhihongxing

Python爬虫基本知识攻略

什么是爬虫

简单来说,爬虫就是一种自动提取网页信息的程序。通常情况下,我们需要用到网页信息时,都得通过手动点击、查找等方式去获取,这样不仅费时费力,而且准确度也不高。然而,利用爬虫技术,就可以自动地获取所需的网页信息,提高效率,节省时间。

爬虫的工作流程

  1. 发送请求:在 Python 中,通常使用 requests 库向目标网站发送请求,获取网页代码;
  2. 解析页面:使用 BeautifulSoupxpath 等工具解析获取的网页代码,提取出需要的信息;
  3. 存储数据:将提取出来的信息存储到本地文件或数据库中。

爬虫的基本组成

  1. 请求方式(get/post):请求网页时使用的方式,一般使用 get 请求;
  2. 请求头:在请求时带上一些信息(如 User-Agent、Referer 等)以便网站确认请求来源;
  3. 请求参数:发送请求时需要带上的一些参数,比如查询关键字、页码等;
  4. 响应状态码:表示请求是否成功的状态码;
  5. 响应内容:返回的网页信息;
  6. 数据解析:使用 BeautifulSoupxpath 等工具提取需要的数据。

示例一:爬取豆瓣电影 Top250 的电影名和评分

import requests
from bs4 import BeautifulSoup

url = 'https://movie.douban.com/top250'
headers = {
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)

soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.find_all('div', class_='hd')

for movie in movies:
    title = movie.a.span.text.strip()
    star = movie.parent.find('span', class_='rating_num').text.strip() 

    print(title, star)

以上代码使用 requests 向豆瓣电影 Top250 发送请求,获取页面信息。随后使用 BeautifulSoup 解析出电影名和评分,并输出结果。

示例二:爬取京东电脑商品信息

import requests
from bs4 import BeautifulSoup

url = 'https://search.jd.com/Search?keyword=%E7%94%B5%E8%84%91&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E7%94%B5%E8%84%91&cid2=652&cid3=655&s=1&click=0'
headers = {
        'User-Agent': 
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
response = requests.get(url, headers=headers)

soup = BeautifulSoup(response.text, 'lxml')
names = soup.select('#J_goodsList .p-name em') # 商品名称
prices = soup.select('#J_goodsList .p-price i') # 商品价格

for name, price in zip(names, prices):
    print(name.text, price.text)

以上代码使用 requests 向京东搜索页面发送请求,并使用 BeautifulSoup 解析出商品名称和价格,并输出结果。

总结

本文简单介绍了爬虫的概念、工作流程、基本组成以及两个代码示例。不过需要注意的是,爬虫技术虽然强大,但是需要遵守网络法律法规,谨慎使用,避免侵犯他人的利益。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python爬虫基本知识 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python实现基于SVM的分类器的方法

    下面就来详细讲解“Python实现基于SVM的分类器的方法”的完整攻略。 一、什么是SVM? SVM(Support Vector Machine,支持向量机),是一种非常常用的分类和回归算法。SVM是一个监督学习算法,分类器是通过将数据分为两个或多个类别的线性分类器,二分类就是一条直线把数据分为两类,多分类就是一些直线或者曲线把数据分为多类。 SVM训练过…

    python 2023年6月2日
    00
  • Python著名游戏实战之方块连接 我的世界

    Python著名游戏实战之方块连接 我的世界 是一款基于 Python 和 Minecraft 的游戏,玩家可以在游戏中利用 Python 语言进行编程,从而操作 Minecraft 中的方块、实现自动化等功能。以下是该游戏的完整攻略: 环境准备 首先需要在电脑上安装好 Minecraft 游戏和 Python 编程语言,并且安装好相关的库和工具。在安装过程…

    python 2023年6月3日
    00
  • Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)

    Python 字节流、字符串、十六进制转换实例 在 Python 中,我们经常需要将字节流、字符串和十六进制之间相互转换,这在网络通信和加密算法中特别常见。Python 内置模块 binascii 和 bytes 提供了相应的函数,帮助我们完成这些转换。 bytes 和 str 之间的转换 Python 3 中的字符串是 Unicode 编码,而不是像 Py…

    python 2023年6月5日
    00
  • Python中print()函数的用法详情

    下面是Python中print()函数的详细用法攻略: 标题:Python中print()函数的用法详情 一、print()函数的作用 print()函数是Python内置函数之一,用于向控制台输出指定的文本、数据、变量等信息。可以说是编写Python程序中最常用的命令之一。 二、print()函数的基本用法 print(*objects, sep=’ ‘,…

    python 2023年6月3日
    00
  • python实现列车管理系统

    Python实现列车管理系统的攻略如下: 1. 确定需求 我们需要一个列车管理系统,可以进行以下操作: 添加列车信息 查看全部列车信息 按车次查询列车信息 按目的地查询列车信息 按出发时间查询列车信息 修改列车信息 删除列车信息 2. 设计数据结构 为了实现上述需求,我们需要设计一个数据结构来存储列车信息。可以使用Python中的字典来表示一个列车的所有信息…

    python 2023年5月19日
    00
  • python字典的setdefault的巧妙用法

    当我们需要将键-值对添加到 Python 字典中时,通常会使用dict[key] = value这样的方式进行添加。但是如果我们在使用字典时需要进行更多的操作,例如添加默认值或默认数据类型,那么 setdefault() 方法就非常实用了。 setdefault()方法允许我们指定一个默认值作为键的默认值,如果该键不存在,则将这个默认值添加到字典中。如果该键…

    python 2023年5月13日
    00
  • urllib和BeautifulSoup爬取维基百科的词条简单实例

    下面是“urllib和BeautifulSoup爬取维基百科的词条简单实例”的完整攻略。 1. 准备工作 在开始爬取维基百科的内容之前,我们需要做一些准备工作。 首先需要安装BeautifulSoup和urllib库,可以通过以下命令安装: pip install beautifulsoup4 pip install urllib 接下来,我们需要了解维基百…

    python 2023年6月3日
    00
  • python实现提取str字符串/json中多级目录下的某个值

    提取多级目录下的值是Python处理字符串和JSON数据的常见需求。下面是一些步骤,可以让你实现该功能。 将字符串或JSON数据转换为Python对象 如果你要从字符串中提取值,可以使用Python内置的字符串方法来加载它,例如json.loads。如果你已经有一个JSON数据,你可以使用Python的json库来加载它。你可以使用以下代码来加载JSON数据…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部