requests模块

1. 爬虫基础模板

import requests


class MaoYanSpider(object):
    def __init__(self):
        pass

    def get_html(self, url):
        """发送请求功能"""
        pass

    def parse_html(self, html):
        """提取数据"""
        pass

    def save(self):
        """存储数据"""
        pass

    def crawl(self):
        """程序的入口"""
        pass


spider = MaoYanSpider()
spider.crawl()

1. requests.get()

该方法用于 GET 请求,表示向网站发起请求,获取页面响应对象。语法如下:

response = requests.get(url,headers=headers,params,timeout)
  • url:要抓取的url 地址。
  • headers:用于包装请求头信息。
  • params:请求时携带的查询字符串参数。

2. HttpResponse响应对象

我们使用 Requests 模块向一个URL发起请求后会返回一个 HttpResponse响应对象。

响应对象属性:

  • text:获取响应内容字符串类型
  • content:获取到响应内容bytes类型(抓取图片、音频、视频文件)
  • encoding:查看或者指定响应字符编码

3. 正则表达式

定义:按照一定的规则 从每个字符串当中匹配到我们想要数据

r_list=re.findall('正则表达式',html,re.S)

正则表达式元字符

元字符含义
.任意一个字符(不包括\n)
\d一个数字
\s空白字符
\S非空白字符
[]包含[]内容
*出现0次或多次
+出现1次或多次

贪婪匹配和非贪婪匹配:

  • 贪婪匹配:匹配重复的元字符总是尽可能多的向后匹配内容。
  • 非贪婪匹配:让匹配重复的元字符尽可能少的向后匹配内容。

正则表达式分组:将每个圆括号中子模式匹配出来的结果提取出来

  • 先按整体正则匹配,然后再提取分组()中的内容
  • 在网页中,想要什么内容,就加()
  • 如果有2个及以上分组(),则结果中以元组形式显示 [(),(),()]

4. pymysql

  • 建立数据库连接db = pymysql.connect(...)
    • 参数host:连接的mysql主机,如果本机是’127.0.0.1’
    • 参数port:连接的mysql主机的端口,默认是3306
    • 参数database:数据库的名称
    • 参数user:连接的用户名
    • 参数password:连接的密码
    • 参数charset:通信采用的编码方式,推荐使用utf8
  • 创建游标对象cur = db.cursor()
  • 游标方法: cur.execute(“insert …”)
  • 提交到数据库或者获取数据 : db.commit()
  • 关闭游标对象 :cur.close()
  • 断开数据库连接 :db.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值