python 爬虫和解析

库的安装:pip install requests; pip install beautifulsoup4

requests 的几个常用方法:

  requests.request()  #以下各方法的基础

  requests.get(url,params=None,**kwargs)  #获取html内容

  requests.head()  #获取网页头部内容

  requests.post()

  requests.put()

  requests.patch()

  requests.delete()

重点为:get()其有12个控制关键字参数  返回为response对象

r.status_code   #200为正常

r.text   #html内容

r.encoding   编码

r.apparent_encoding   备选编码

r.content    二进制形式返回,爬取 图片,视频,音频等的关键

常使用try,except框架

import requests
import os
url = 'http://image.ngchina.com.cn/2018/1010/20181010031434134.jpg'
root = 'd://pics//'
path = root + url.split('/')[-1]
try:
if not os.path.exists(root):
os.mkdir(root)
if not os.path.exists(path):
r=requests.get(url)
with open(path,'wb') as f:
f.write(r.content)
f.close()
print('文件保存成功')
else:
print('文件已存在')
except:
print('失败')
import requests
import os
url = 'http://mov.bn.netease.com/open-movie/nos/mp4/2016/05/16/SBM8NN8G6_shd.mp4'
root = 'd://vidio//'
path = root + url.split('/')[-1]
try:
if not os.path.exists(root):
os.mkdir(root)
if not os.path.exists(path):
r=requests.get(url)
with open(path,'wb') as f:
f.write(r.content)
f.close()
print('文件保存成功')
else:
print('文件已存在')
except:
print('失败')
 1 import requests
2 from bs4 import BeautifulSoup
3 import bs4
4 def gethtmltext(url):
5 try:
6 r = requests.get(url,timeout=30)
7 r.raise_for_status()
8 r.encoding=r.apparent_encoding
9 return r.text
10 except:
11 return ''
12
13
14 def fillunivlist(ulist,html):
15 soup = BeautifulSoup(html,'html.parser')
16 for tr in soup.find('tbody').children:
17 if isinstance(tr,bs4.element.Tag):
18 tds = tr('td')
19 ulist.append([tds[0].string,tds[1].string,tds[2].string])
20
21 def printunivlist(ulist,num):
22 print('{:^10}\t{:^6}\t{:^10}'.format('排名','学校名称','总分'))
23 for i in range(num):
24 u=ulist[i]
25 print('{:^10}\t{:^6}\t{:^10}'.format(u[0],u[1],u[2]))
26
27
28 def main():
29 uinfo = []
30 url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html'
31 html = gethtmltext(url)
32 fillunivlist(uinfo,html)
33 printunivlist(uinfo,20)
34
35 main()

查看爬虫协议在最后加上robots.txt  如:www.jd.com/robots.txt

Beautiful Soup库   #解析网页用

BeautifulSoup(text,'html.parser')

SOUP库的基本元素:

Tag  标签,最基本的信息单元,对应<>....</>

Name  标签名

attributes  标签属性:Tag.attrs

Navigablestring  标签内非属性字符串<>....</>中的字符串  格式:Tag.string

Comment  标签的注释部分

如:<p class='title'>.....</p>   p标签

p.name   p.attrs   p.string

最新文章

  1. ABAP屏幕设计
  2. 求第K大数
  3. 解决ViewPage中嵌套有ListView或者滑动手势等造成滑动的冲突
  4. 关于Javascript splice方法的一个坑。
  5. 为什么是 n(n+1)/2 ?
  6. Log4j配置与使用
  7. RouterOS 软路由开启SSH服务器
  8. 初始Hibernate框架技术
  9. android启动模式2
  10. C++进制转换(十进制转二进制、八进制、随意进制)
  11. Docker简单介绍
  12. HTTP协议--简析
  13. 关于JAVA Project.waitfor()死锁问题
  14. How to Compile Java DBus
  15. CSS3的[att$=val]选择器
  16. CTBS问题百科
  17. mybaties xml 的头部
  18. Java作业二(2017-9-18)
  19. List、Set、数据结构、Collections
  20. UEFI BIOS Rootkit Analysis

热门文章

  1. 一些JAVA题目
  2. Apache shiro权限基本使用
  3. python 系统设置
  4. OpenMP变量作用域【private】【shared】
  5. MarkDown系列教程
  6. 批处理中的删除命令:del
  7. (九) SpringBoot起飞之路-整合/集成Swagger 2 And 3
  8. thinkphp6.0.x 反序列化详记(二)
  9. http_parser
  10. 多测师讲解自动化测试 _如何解决验证码的问题_高级讲师肖sir