首页 >后端开发 >Python教程 > 正文

python如何实现网络爬虫

原创2020-10-21 15:09:0804290

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

6387e49f8185b7d812adb77c9e7f119.png

第二步:分析

使用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

4c09a57891201d0e5fb214a6438b0ff.png

相关免费学习推荐:python视频教程

以上就是python如何实现网络爬虫的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:python 网络爬虫
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    coldplay.xixi

    好好学习 天天向上

    最近文章
    重点详解Java类和对象1402
    浅析php简单操作mysql锁机制3015
    php无法加载mysql怎么办1591
    推荐视频教程
  • Python 学习手册Python 学习手册
  • 黑马云课堂8天深入理解Python视频教程黑马云课堂8天深入理解Python视频教程
  • Python实战爬虫视频教程Python实战爬虫视频教程
  • python教程之Django视频教程python教程之Django视频教程
  • Python+人工智能全栈工程师(Linux基础篇)Python+人工智能全栈工程师(Linux基础篇)
  • 视频教程分类