爬虫测试

requests库是用来处理http请求的第三方库。

import requests

get(url[,timeout=n])函数是用来获取网页的函数,参数url是网页的地址,timeout=n]表示每次请求超时的时间,调用后返回Response对象

r=requests.get("https://www.baidu.com",timeout=30)    #获取百度主页的内容,响应时间为30毫秒
        print(type(r))    #输出Response对象
        print(r.status)    #输出状态,200为成功,404为失败
        print(t.text)    #输出内容的字符串形式
        print(t.encoding="utf-8")    #以utf-8编码输出
        print(t.content)    #以二进制形式输出

以下为访问百度20次,返回状态的

import requests
try:
    for i in range(20):
        r=requests.get("https://www.baidu.com",timeout=30)
        print(type(r))
        print(r.text)
except:
    print('kong')  

 beautifulsoup4 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.BeautifulSoup配合Request使用,能大大提高爬虫效率。使用时用以下方法引入

from bs4 import BeautifulSoup

之后使用BeautifulSoup()创建一个·BeautifulSoup对象

soup=BeautifulSoup(r.text)
BeautifulSoup是一个树形结构,包含HTML页面中的每一个Tag元素,如<head>、<body>
BeautifulSoup对象的常用属性
head HTML页面的<head>内容
title HTML页面标题
body HTML页面的<body>内容
p HTML页面中第一个<p>内容
strings HTML页面所有呈现在Web上的字符串
stripped_strings HTML页面所有呈现在Web上的非空字符串

除此以外,还可以通过Tag对象的name、attrs和string属性获得相应内容。
属性 描述
name 标签名字
attrs 字典,包含原来页面Tag所有属性
contents 列表,当前Tag下所有Tag内容
strings 字符串,标签显示的内容
find_all()和find()函数是根据参数找标签的函数,区别在于前者查找所有符合条件的标签,后者只返回第一个符合的标签。
例子如下
import requests
from bs4 import BeautifulSoup
r=requests.get("http://yz.yzhiliao.com/course/83/task/644/show")
r.encoding='utf-8'
soup=BeautifulSoup(r.text,'lxml')
print(soup.head.string)  #head标签的内容
print(soup.body.string)  #body标签的内容
l=soup.find_all(id="first")  #查找所有id="first"的标签对象
for p in l:
    print(p.name)  #逐个输出查找到的标签名字

猜你喜欢

转载自www.cnblogs.com/guyuanlin/p/10893211.html