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

相关推荐
2601_962297252 分钟前
Python里behave和pytest-bdd哪个更适合中大型项目?为什么?
python·bdd·行为驱动开发·behave·pytest-bdd
秦老师Q36 分钟前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
驭渊的小故事1 小时前
多线程02
java·开发语言·jvm
阿里嘎多学长1 小时前
2026-09-09 GitHub 热点项目精选
开发语言·程序员·github·代码托管
君顾11 小时前
本地折扣卡 CPS 平台搭建:从系统架构到落地实战
java·开发语言·折扣卡
YCOSA20252 小时前
系统工具使用检测.exe (仅供娱乐)
python·microsoft
2601_962295332 小时前
如何python实现网页的自动化
python·selenium·beautifulsoup·requests·网页自动化
ofoxcoding2 小时前
GPT Image 2.5 API 实战:Python 调用实现图片生成与编辑
人工智能·python·gpt·ai
liangshanbo12152 小时前
手写 Function.prototype.call 与 Function.prototype.apply 面试题满分答案
开发语言·javascript·原型模式
Zenova EdgeOS2 小时前
C++ 工业边缘 libcurl HTTP 客户端实战
开发语言·c++·网络协议·边缘计算