python网络爬虫及信息提取(基础)

本文介绍Python网络爬虫基础,涵盖requests库和BeautifulSoup库的使用。详细讲解了Respose对象属性、HTML遍历方法、信息标记格式及信息提取方法。还给出多个实例,如京东、亚马逊商品页面爬取,网络图片存储,IP地址归属地查询,以及中国大学排名定向爬虫。
摘要由CSDN通过智能技术生成

python网络爬虫(基础)

requests库
通用框架
BeautifulSoup库
HTML的遍历
信息标记
信息提取的一般方法
实例:
1.京东商品页面的爬取
2.亚马逊商品页面的爬取
3.百度/360搜索关键词提交
4.网络图片的爬取和存储
5.IP地址归属地的自动查询
6.“中国大学排名定向爬虫”实例

requests库

requests.request() 构造一个请求,支撑一下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET(常用)
requests.head() 获得HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST
requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() 向HTML网页提交删除请求,对应于HTTP的DELETE

Respose对象的属性

r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败
r.txt HTTP响应内容的字符串形式,即,url对应的页面内容
r.encoding 从HTTP header 中猜测的响应内容编码方式
r.apparent_encoding 从内容中分析的响应内容的编码方式(备选编码方式)
r.content HTTP响应内容的二进制形式

通用框架:
import  requests

def getHTMLText(url):
    try:
        r = requests.get(url ,timeout = 30)
        r.raise_for_status() #如果状态不是200,引发HTTPError异常
        r.encoding = r.apparent_encoding #转化为utf-8
        return r.text
    except:
        return "产生异常"

if __name__ == "__main__":
    url = "http://www.baidu.com"
    print(getHTMLText(url))

实例:

1.京东商品页面的爬取

首先获取网页连接
https://krisborg.jd.com/
在这里插入图片描述

import  requests
url = "https://krisborg.jd.com/"
try:
    r =  requests.get(url)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])
except:
    print("爬取失败")

结果:

<!--jd默认浏览-->
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <!--JA统计-->
    <script>var jdpts=new Object();jdpts._st=new Date().getTime();</script>
    <meta content="克里斯·博格旗舰店,提供克里斯·博格旗舰店各类正品商品的报价、促销、评论、导购、图片等信息,欢迎您再次光顾克里斯·博格旗舰店" name="description">
    <meta content="克里斯·博格旗舰店、,服饰内衣、京东" name="keywords">
    <title>
        			克里斯·博格旗舰店 - 京东
	    </title>
    <link rel="icon" href="//www.jd.com/favicon.ico" mce_href="//www.jd.com/favicon.ico" type="image/x-icon">
    
    <!-- LESS -->
    
    <!-- 新布局样式-->
    <link rel="stylesheet" href="//static.360buyimg.com/static-shop-sale-p/libs/normalize-css/normalize.css">
    <link rel="stylesheet" href="//static.360buyimg.com/static-shop-sale-p/css/common/layout.css">
    <!-- 头部公用 -->
    <link rel="stylesheet" type="text/css" href="//static.360buyimg.com/static-shop-sale-p/css/prev-versi
2.亚马逊商品页面的爬取

https://www.amazon.cn/dp/B01ION3VWI/ref=sr_1_1?__mk_zh_CN=亚马逊网站&keywords=python&qid=1562862762&s=gateway&sr=8-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值