Python爬虫:requests模块深入及案例

发布于:2025-02-10 ⋅ 阅读:(54) ⋅ 点赞:(0)
*   [案例二:输入单词获取百度翻译的结果](about:blank#_40)

*   [案例三:获取豆瓣电影的评分前几名的电影信息](about:blank#_87)

*   [案例四:通过在药监局网站中的企业id值获取企业信息](about:blank#id_121)

案例一:获取CSDN关键字的搜索结果页面


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

  • url:请求地址

  • params:url携带的参数,字典类型

指定url发起请求是携带参数的,请求时将params中的字典类型数据转换为url中参数。


import requests



# 在CSDN中搜索,参数q为搜索关键字

searchURL = 'https://so.csdn.net/so/search'



# 处理url携带的参数:封装到字典中

keyWord = input('CSDN Search KeyWord is :')

param = {

    # 请求所需的参数,字典类型

    'q':keyWord

}



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

# 指定url发起请求是携带参数的,请求时将params中的字典类型数据转换为url中参数



pageText = response.text

# 爬取到的文本数据



fileName = keyWord + '.html'

with open('./dataFiles/'+fileName,'w',encoding='utf-8') as fp:

    fp.write(pageText)

# 生成以关键字命名的html文件





在这里插入图片描述

案例二:输入单词获取百度翻译的结果


在这里插入图片描述在这里插入图片描述

检查网页可知,百度翻译的请求方式为post,需要用到requests.post()。关键字为data里面的kw。

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

  • url:请求页面

  • data:关键字,字典类型

  • headers:头信息,字典类型,用于UA伪装


# 百度翻译

# - post请求

# - 响应数据是JSON格式



import requests

import json



postURL = 'https://fanyi.baidu.com/sug'



# UA伪装

postHeader = {

    'User-Agent': '来自网页检查'

}

# 参数处理

data = {

    'kw': 'baby'

    # post请求的参数数据与get一致,与get方法不同的是不显示在地址栏,可以通过检查查看

    # kw为网址指定的参数名,若修改则发生未知错误

}



# 发送请求

response = requests.post(url=postURL, data=data, headers=postHeader)



# 获取响应数据,json格式

dataObj = response.json()

print(dataObj)



# 存储

jsonFilePath = open('./dataFiles/dog.json', 'w', encoding='utf-8')

json.dump(dataObj, fp=jsonFilePath, ensure_ascii=False)



print('Over!')



在这里插入图片描述

案例三:获取豆瓣电影的评分前几名的电影信息


方法与上面两个案例类似,直接看代码


# 获取豆瓣电影排行榜信息

import requests

import json



doubanURL = 'https://movie.douban.com/j/chart/top_list?'

# url地址

doubanParam = {

    #参数

    'type_name':'喜剧',

    'type': 24,

    'interval_id': '100:90',

    'start':'1',   # 从第几部电影开始取

    'limit':'10'    # 取出的个数

}

doubanHeader = {

    # 头信息,用于UA伪装

    'User-Agent':'来自网页检查'

}



response = requests.get(url=doubanURL ,params=doubanParam ,headers=doubanHeader)



print(response.json())



fp = open('./dataFiles/doubanTop10.json','w',encoding='utf-8')

json.dump(response.json(),fp=fp,ensure_ascii=False)



print('Over.....')



在这里插入图片描述

案例四:通过在药监局网站中的企业id值获取企业信息



网站公告

今日签到

点亮在社区的每一天
去签到