Python爬虫入门之requests库

Python编程语言的requests库和BeautifulSoup模块的组合,构成了最基本的爬虫结构,利用这两个部分足以爬取很多不是特别复杂网站的数据,因此,在自学爬虫的时候很多人选择从这两个库入手。

   同样作为一名自学者的我,就先写写requests库的相关知识。

requests库在写爬虫的时候,用“import requests”python语句来直接调用

1.最基本的操作用get()方法

response = requests.get("网址")

print(response.text)#返回的是unicode格式的数据

print(response.content)#返回的是字节流数据

注意:字节流是由字节组成的, 字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的 。

Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

2、get()方法里面的headers参数

许多网站不喜欢陌生人来爬取其中的数据,就会给自己的网站放一个头文件,通常叫请求头文件,我们需要在写爬虫的时候,在get()方法里面填上这个请求头文件,这个请求头文件一般藏在需要爬取的网站的源代码里面。

查找headers头文件步骤如下:(以“优信二手车官网为例”)

(1).输入网址,打开网站,然后点击键盘上面的F12键,或者用鼠标点击右键打开“审查元素”

(2).点击出现的工具栏上面的“Network”,然后点击键盘上面的F5,或者浏览器的刷新按钮来刷新网页。

(3).待网页刷新完毕,点击“Name”下面的第一行数据,在右边栏点击“Headers”

(3).出现的Request Headers里面的内容就是网站的请求头文件,将请求头文件复制到一个字典里面

例如:优信二手车头文件为header = {

  1. ’Accept’:’
    text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8’,
  2. 'Accept-Encoding':'
    gzip, deflate, sdch',
  3. 'Accept-Language':'
    zh-CN,zh;q=0.8',
  4. 'Connection':'
    keep-alive',
  5. 'Cookie':'
    __huid=1136Lzrg5LpsVkPjBcpibEiOeW38hmbBnM+PrlfMud0oM=; __guid=132730903.1101641192307449500.1509777840726.1902; __mid=8bd7c5d220de739156bff5822ef2846e; __gid=177231408.925154273.1522991190927.1523928500327.2; smidV2=2018041709281935127c07fb8ecd8b4a5cd0574a2b664d0087f90bdc33947b0; __hsid=5e1bc7a28d70ee92',
  6. 'Host':'
    se.360.cn',
  7. 'Upgrade-Insecure-Requests':'
    1',
  8. 'User-Agent':'
    Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 QIHU 360SE'

}

最终的get()方法用法如下:response= requests.get(url = 网址,headers = header)

要想从网站里面爬出真正想要的内容,还需要配合Beautiful Soup库来进行。后面再写

import requests
from bs4 import BeautifulSoup

url12 = 'https://www.guazi.com/xa/'#瓜子二手车官网

# 设置访问网站的请求头部信息

header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
         'Accept-Language':'zh-CN,zh;q=0.8',
         'Cache-Control':'max-age=0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
         'Host':'www.guazi.com',
         'Upgrade-Insecure-Requests':'1',
        'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
        'Accept-Encoding': 'gzip, deflate, sdch, br',
        'Connection': 'keep-alive',
        'Referer': 'https://www.guazi.com/xa/buy/o1/',
        'Host': 'www.guazi.com',
        'Cookie': 'uuid=ee21b228-ee48-48d9-ef9d-293029c37540; ganji_uuid=8917084347138764524136; cityDomain=xa; antipas=4Z100701019837606183975307924; clueSourceCode=%2A%2300; cainfo=%7B%22ca_s%22%3A%22pz_360%22%2C%22ca_n%22%3A%22pz_bt%22%2C%22ca_i%22%3A%22-%22%2C%22ca_medium%22%3A%22-%22%2C%22ca_term%22%3A%22-%22%2C%22ca_content%22%3A%22-%22%2C%22ca_campaign%22%3A%22-%22%2C%22ca_kw%22%3A%22-%22%2C%22keyword%22%3A%22-%22%2C%22ca_keywordid%22%3A%22-%22%2C%22scode%22%3A%2210103001912%22%2C%22ca_transid%22%3Anull%2C%22platform%22%3A%221%22%2C%22version%22%3A1%2C%22client_ab%22%3A%22-%22%2C%22guid%22%3A%22ee21b228-ee48-48d9-ef9d-293029c37540%22%2C%22sessionid%22%3A%22-%22%7D; preTime=%7B%22last%22%3A1527558544%2C%22this%22%3A1527498767%2C%22pre%22%3A1527498767%7D; lg=1; sessionid=0cfd911d-958b-4e4f-ff15-a9383d8fb216'
    }

r = requests.get ( url=url12, headers=headers )
html1 = r.content

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值