爬虫基础知识

爬虫分类:

1. 通用网络爬虫 百度,门户网站
2. 聚焦网络爬虫 
3. 增量式网络爬虫
4. 深层页面爬虫

简单爬虫架构:

1. URL管理器 Universal Resource Location
2. 网页下载器
3. 网页解析器
4. 输出管理器

Python实现网页解析的常用工具

1. 正则表达式 Regular Expression
2. Lxml库 Xpath语法 
    HTML XML
    <div>
        <p>你好</p>
    </div>
3. BeautifulSoup BS
    
常见爬虫框架
 
Scrapy 最流行
Pyspider 国人编写
Cola  分布式爬虫框架

Http请求的含义
http://wx3.sinaimg.cn/mw600/00745YaMgy1g0su3o5sp6j30go0go0u8.jpg

web服务流程

发出请求,请求包含3部分
请求头部
请求正文
实体内容

接收响应

常见请求方式
get
post

爬取百度logo
>>> import requests
>>> response = requests.get('https://www.baidu.com/img/bd_logo1.png')
>>> with open('logo.png','wb') as logo:
...     logo.write(response.content)
...
    
response.text
response.encoding
response.content
response.status_code

定制请求头
>>> headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3514.0 Safari/537.36'}
>>> url = 'https://www.douban.com'
>>> response = requests.get(url,headers=headers)


https://www.douban.com/search?q=python
https://www.douban.com/login?username=tom&password=1234

重定向
>>> r = requests.get('http://www.douban.com')
>>> r.history
[<Response [301]>]

设置超时时间
>>> requests.get('http://www.douban.com',timeout=2)
<Response [200]>

传递URL参数
>>> payload={'q':'python','cat':1001}
>>> r = requests.get('https://www.douban.com/search',params=payload)
>>> r.url
'https://www.douban.com/search?q=python&cat=1001'
    
Urllib Python标准库

网页解析基础

HTML Hyper Test Markup Language
XML Extensible Markup Language 可扩展标记语言

<book lang="en" font="Couier New">
    <name>Spider</name>
    <author>
        <firstname></firstname>
        <lastname></lastname>
    </author>
    <price>30.0</price>
</book>

<html>
    <head>
        <meta charset="utf-8"/>
        <title>Example Page</title>
        <style></style>
        <script></script>  
    </head>
    <body>
        <div id="images">
            <a href="image1.html">Name: My Image 1<br><img src="image1.jpg"/></a>
            <a href="image2.html">Name: My Image 2<br><img src="image2.jpg"/></a>
            <a href="image3.html">Name: My Image 3<br><img src="image3.jpg"/></a>
            <a href="image4.html">Name: My Image 4<br><img src="image4.jpg"/></a>
            <a href="image5.html">Name: My Image 5<br><img src="image5.jpg"/></a>
        </div>
    </body>
</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值