爬虫之汽车之家

爬虫

今日内容

  • 1、爬虫介绍
  • 2、爬取汽车之家
  • 3、requests
  • 4、bs4
  • 5、内容编码改为utf-8
    掌握requests /bs4 不考虑验证码和性能基本网页都能爬取
    以后实际工作中这两个脚本加scrapy框架就可以了

一、爬虫介绍

* 1、什么事爬虫
    编写程序,根据URL获取网站信息。
    历史背景:2015年起我国对数据爬取进行了立法
* 2、爬取汽车之家新闻
        a、伪炤浏览器向某个地址发送http请求,获取返回的字符串
    ret = requests.get(
            url='https://www.autohome.com.cn/news/',
    )
    print(ret.text)
注:ret是一个对象
    request是伪造浏览器的行为

    ret.encoding = ret.apparent_encoding
    数据类型转换(转换成中文)

    ret.text 按照字符串显示内容

    ret.content 按照字节显示

    b、解析:获取指定内容
        BeautifulSoup 用于把html中的标签做切割

    bs4解析html格式的字符串
        div = soup.find(name='标签名')
        div = soup.find(name='标签名',id='id名')
        div = soup.find(name='标签名', class_='') class后面有_
        div = soup.find(name='标签名',attrs={id:'user',class:'page-one'})
     
        div.text  获取标签的文本
        div.attrs  获取标签的属性
        div.get('src') 获取标签属性的值

        li = soup.find_all(name='标签名')
        li_list  获取的是列表
        如果要查询具体的li_list列表的值,必须要下标索引查找
        li_list[0]

request模块

url:
params: url中传入参数
data:
json:
headers:  请求头
cookies:
proxies:封IP 用代理
files: 上传文件
auth: 基本认证
timeout: 超时时间
   
allow_redirects: True 
是否允许重定向

stream: 下载大文件时
ret = requests.get('http://127.0.0.1:8000/test/', stream=True)

for i in r.iter_content():
#iter_content() 方法表示来边下载边存硬盘
 # print(i)

from contextlib import closing

with closing(requests.get('http://httpbin.org/get', stream=True)) as r:
 # 在此处理响应。
 
    for i in r.iter_content():
print(i)
cert: 证书
verify: 确认

转载于:https://www.cnblogs.com/clove7/p/11355995.html

你可能感兴趣的:(爬虫,json,python)