Python requests库基础 爬取网页信息

本文旨在教授如何使用Python的requests库进行网页爬取和信息获取。通过实例,介绍了如何指定URL发起请求,获取并解析响应数据,以及设置User-Agent以避免被服务器识别为爬虫。此外,还涵盖了创建简易网页搜索引擎的基础步骤。

学习目标:

掌握requests库的基本使用方法

学习内容:

1、爬虫的使用方法:
-指定url
-发起响应
-获取响应数据
-持久化存储
2、案例实现

1)百度页面爬取

下面展示一些 内联代码片

import requests
if __name__=='__main__':
    url='https://www.baidu.com/'#获取百度的url
    
    response=requests.get(url=url)#发起响应
    #获取响应数据
    page_text=response.text
    #持久化存储
    with open('./baidu.html','w',encoding='utf-8') as fp:
        fp.write(page_text)
    print('over')

这样爬取的页面只有基本的格式,其他的细节都是乱码
可以添加:
在url下面:

headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
        }

并在将requests.get(url=url,headers=headers):

url:简单地说就是网址
User-Agent在网页的开发者工具中能找到,Network-XHR-单击Name-headers
用User-Agent的作用是进行伪装,是服务器响应请求

2)简易网页搜素器

import requests
if __name__=='__main__':
    url='https://www.baidu.com/s'

    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
        }

    wh=input('请输入搜索内容:')

    param={
        'wd':wh
        }

    response=requests.get(url=url,params=param,headers=headers)

    page_text=response.text
    fileName=wh+'.html'
    with open(fileName,'w',encoding='utf-8') as fp:
        fp.write(page_text)
    fp.close()
    print('over!')

url:简单地说就是网址
User-Agent在网页的开发者工具中能找到,Network-XHR-单击Name-headers

3)百度翻译

import requests
import json
if __name__=='__main__':
    post_url='https://fanyi.baidu.com/sug'

    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
        }

    word=input('请输入单词:')

    data={
        'kw':word
        }

    response=requests.post(url=post_url,data=data,headers=headers)

    dic_obj=response.json()

    fileName=word+'.json'
    with open(fileName,'w',encoding='utf-8') as fp:
        json.dump(dic_obj,fp=fp,ensure_ascii=False)
    fp.close()

    print('over!')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值