Python爬虫(2) --爬取网页页面

爬虫

Python 爬虫是一种自动化工具,用于从互联网上抓取网页数据并提取有用的信息。Python 因其简洁的语法和丰富的库支持(如 requests、BeautifulSoup、Scrapy 等)而成为实现爬虫的首选语言之一。

Python爬虫获取浏览器中的信息,实际上是模仿浏览器上网的行为。完成获取信息需要完成三步:

  1. 指定url
  2. 发送请求
  3. 获取你想要的数据

比如我们爬取一个网站的页面:

https://www.sogou.com/

URL

URL(Uniform Resource Locator,统一资源定位符)是互联网上用来标识资源的字符串,它告诉Web浏览器或其他网络程序如何访问特定的文件或网页。简单来说,URL就是网页的地址。

那我们怎么寻找网页的url呢?

浏览器中找到网页页面,点击按钮F12进入开发者控制台(Developer Console)。

在这里插入图片描述

第一步点击Network,第二步刷新页面,第三步滚动滚轮找到最上面的一项打开:

url2.png

我们可以看到:网页的url地址、以及它的请求方式是get请求、Status Code在200和300是属于正常的、类型是text/html形式的。

好,那我们先指定url地址:

url = "https://www.sogou.com/"

发送请求

找到网址之后,我们当然得要获取它,这样我们就需要申请访问它的网址。

访问别人,当然自己得有个身份,怎么为自己伪装一个身份呢?

UA伪装

在python内下载fake_useragent包,这里面是别人以及写好的UA,使用这个包会为我们随机提供一个身份。

pip install fake_useragent

下载好之后导入包:

import fake_useragent

接下来运用这个包来进行UA伪装:

head = {
    "User-Agent":fake_useragent.UserAgent().random		#"User-Agent"固定写法哦
}

这样我们就有身份来发生请求啦!

requests

在Python中,发生请求使用requests方法。使用这个方阿飞之前呢,我们也还需要安装一个requests包:

pip install requests

下载好之后导入包:

import requests

接下来我们来使用这个包来发送请求:

response = requests.get(url,headers=head)
#以head的伪装身份访问url,将返回的数据放在response对象内

这样我们就请求完成了。

获取想要的数据

之前我们在开发者控制台中看到,网页的类型是text/html形式的。

请求完成之后,我们将请求到的内容接收一下:

res_text = response.text
print(res_text)
--------------------
print(response.status_code)
#可以加上这个代码,验证请求是否成功:
200:请求成功。通常表示服务器成功返回了请求的网页。
404:未找到。通常表示服务器无法找到请求的资源(网页)。
500:内部服务器错误。通常表示服务器遇到了一个意外情况,导致其无法完成对请求的处理。

将接收到的内容打印出来。

打开网页

在PyCharm中,建立一个HTML文本,将接收打印出来的数据内容复制进HTML文本中:

打开网页.png

进入HTML文本,右上角会有浏览器浮现,选择你要使用的浏览器打开,就会进去获取的网页中。

总结

本篇介绍了:如何爬取网页的一个页面。

  1. 指定url
  2. 发送请求:requests请求方法
    1. UA伪装:使用fake_useragent包,为自己提供身份
  3. 获取想要的数据:将数据接收处理

完整代码

import fake_useragent
import requests
if __name__ == '__main__':

    #UA伪装  让你认为我是一个浏览器
    head = {
        "User-Agent":fake_useragent.UserAgent().random
    }
    
    # 1、指定url
    url = "https://www.sogou.com/"

    # 2、发送请求    返回的数据在response对象内
    response = requests.get(url,headers=head)

    #3、获取想要的数据
    res_text = response.text
    print(res_text)
  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下如何使用 Python 爬虫来爬取房产数据并保存到本地。 首先,您需要选择一个合适的网站来进行爬取。例如,可以选择链家网、安居客等房产网站。然后,您需要分析该网站的页面结构和数据请求方式,确定需要爬取哪些数据,以及如何获取这些数据。 接着,您可以使用 Python 的 requests 库来发送 HTTP 请求,获取网页内容。然后,可以使用 BeautifulSoup 库来解析网页内容,提取需要的数据。 最后,您可以使用 Python 的 Pandas 库将数据保存到本地的 Excel 或 CSV 文件中。以下是一个示例代码: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 发送 HTTP 请求获取网页内容 url = 'https://bj.lianjia.com/ershoufang/' 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.content, 'html.parser') # 解析网页内容,提取需要的数据 house_list = soup.find_all('div', {'class': 'info'}) data = [] for house in house_list: name = house.find('div', {'class': 'title'}).text.strip() price = house.find('div', {'class': 'price'}).text.strip() area = house.find('div', {'class': 'houseInfo'}).text.strip() data.append([name, price, area]) # 将数据保存到本地文件 df = pd.DataFrame(data, columns=['名称', '价格', '面积']) df.to_excel('house_data.xlsx', index=False) ``` 这是一个简单的示例代码,您可以根据您需要爬取的数据和网站的不同来进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值