python实现网络爬虫代码_python如何实现网络爬虫

python实现网络爬虫的方法:1、使用request库中的get方法,请求url的网页内容;2、【find()】和【find_all()】方法可以遍历这个html文件,提取指定信息。

python实现网络爬虫的方法:

第一步:爬取

使用request库中的get方法,请求url的网页内容

编写代码[root@localhost demo]# touch demo.py

[root@localhost demo]# vim demo.py#web爬虫学习 -- 分析

#获取页面信息

#输入:url

#处理:request库函数获取页面信息,并将网页内容转换成为人能看懂的编码格式

#输出:爬取到的内容

import requests

def getHTMLText(url):

try:

r = requests.get( url, timeout=30 )

r.raise_for_status() #如果状态码不是200,产生异常

r.encoding = 'utf-8' #字符编码格式改成 utf-8

return r.text

except:

#异常处理

return " error "

url = "http://www.baidu.com"

print( getHTMLText(url) )[root@localhost demo]# python3 demo.py

第二步:分析

使用bs4库中BeautifulSoup类,生成一个对象。find()和find_all()方法可以遍历这个html文件,提取指定信息。

编写代码[root@localhost demo]# touch demo1.py

[root@localhost demo]# vim demo1.py

#web爬虫学习 -- 分析

#获取页面信息

#输入:url

#处理:request库获取页面信息,并从爬取到的内容中提取关键信息

#输出:打印输出提取到的关键信息

import requests

from bs4 import BeautifulSoup

import re

def getHTMLText(url):

try:

r = requests.get( url, timeout=30 )

r.raise_for_status() #如果状态码不是200,产生异常

r.encoding = 'utf-8' #字符编码格式改成 utf-8

return r.text

except:

#异常处理

return " error "

def findHTMLText(text):

soup = BeautifulSoup( text, "html.parser" ) #返回BeautifulSoup对象

return soup.find_all(string=re.compile( '百度' )) #结合正则表达式,实现字符串片段匹配

url = "http://www.baidu.com"

text = getHTMLText(url) #获取html文本内容

res = findHTMLText(text) #匹配结果

print(res) #打印输出[root@localhost demo]# python3 demo1.py

相关推荐
傻啦嘿哟2 分钟前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
大数据编程之光6 分钟前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
初九之潜龙勿用6 分钟前
C#校验画布签名图片是否为空白
开发语言·ui·c#·.net
B站计算机毕业设计超人8 分钟前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化
Dola_Pan23 分钟前
C语言:数组转换指针的时机
c语言·开发语言·算法
ExiFengs24 分钟前
实际项目Java1.8流处理, Optional常见用法
java·开发语言·spring
paj12345678925 分钟前
JDK1.8新增特性
java·开发语言
IT古董32 分钟前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习
不做超级小白33 分钟前
工欲善其事,必先利其器;爬虫路上,我用抓包
爬虫
繁依Fanyi36 分钟前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse