栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬虫学习1--使用requests库与re库对网页进行爬取示例讲解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫学习1--使用requests库与re库对网页进行爬取示例讲解

目录

简介

示例

post示例

get示例


以下均为个人的学习理解,希望对各位有用

简介

首先对requests库和re库要有一个清晰的功能定位。requests库是用来获取网页源代码的,使用re库的正则化匹配从获取的网页源代码中匹配得到我们所需要的信息。

如需学习re库通过以下连接进行学习正则表达式——python对字符串的查找匹配_我就是一个小怪兽的博客-CSDN博客_python 查找匹配字符串

requests发送请求的方式又get和post两种,两者最直观就是get获取时,数据可以出现在url中,而post获取时,需要在post方法中另外指定data参数来指定数据,url等参数的获取都通过待爬取的页面右键中的检查来得到

示例

post示例

最简单的例子,比如百度翻译来翻译一个单词,今年是虎年我们就翻译tiger,我们获取翻译后页面的信息,示例如下:

import requests
import re

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

s=input('请输入一个英语单词n')
dic={'kw':s}
r=requests.post(url,data=dic)

tt=r.json()
print(tt)

r.close()

运行结果如下: 

请输入一个英语单词
tiger
{'errno': 0, 'data': [{'k': 'tiger', 'v': 'n. 老虎; 各种猫科动物; 凶恶的人,虎狼之徒'}, {'k': 'Tiger', 'v': '[人名] 泰格; [地名] [美国] 泰格'}, {'k': 'TIGER', 'v': 'abbr. testabitily insertion guidance expert system'}, {'k': 'tigers', 'v': 'n. 老虎( tiger的名词复数 ); 凶猛的人; 勇士; 猛士'}, {'k': 'tigery', 'v': 'adj. tiger(给…画虎纹般条纹)的变形'}]}

***Repl Closed***

get示例

下面是使用get方法获取腾讯官网的源代码中想要的含有“北”字的词语

#若服务器验证是否通过正常的浏览器来进行访问,会被反爬,需指定headers参数隐藏
#verify忽略安全验证
#params参数指定数值,效果和url问号后面加一串参数效果相同

import requests
import re

url='https://www.qq.com/'

#若服务器验证是否通过正常的浏览器来进行访问,会被反爬,需指定headers参数隐藏
#verify忽略安全验证
#params参数指定数值,效果和url问号后面加一串参数效果相同
r=requests.get(url,verify=False)#verify

r.encoding='gb2312'
tt=r.text#获取需要的源代码

p=re.compile('(?P北.*?)<')
results=p.findall(tt)
print(results)

r.close()#最后关闭请求

输出结果如下: 

 D:pythonlibsite-packagesurllib3connectionpool.py:1013: InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.qq.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings
  warnings.warn(
['北京市', '北京市', '北省', '北省', '北京市', '北京市', '北京”', '北京连续10天无本土新增!新增2例境外输入无症状感染者', '北京昨日新增报告3例确诊病例 均在大兴区', '北京雷雨频繁 外出需注意防雷避雨', '北京疫情只是小范围反弹,中国拒绝第二波疫情', '北京发布病例详情 多名隔离人员发病不报告', '北京多人隔离14天后确诊,专家称有两方面原因', '北京市银行停业一周?五大行辟谣:仅个别风险区网点暂停', '北京6月30日有3地疫情风险等级降级', '北京疫情流调三大焦点', '北京:已经出院的新冠肺炎患者 未发现人传人现象', '北京:此次疫情重症和危重症患者比例明显偏低', '北京:二级以上医疗机构非急诊全面预约实行常态化机制', '北京公积金账户余额可直接用来还贷款了!', '北京57家公立医疗机构核酸检测预约电话公布', '北京近4日有37例确诊病例来自集中隔离点', '北大学霸谈冬奥,最期待高山速滑', '北京冬奥会', '北京互联网法院法律服务工作站']
[Finished in 0.5s]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号