python之爬虫

 

 1、requests库

https://requests.readthedocs.io/en/master/

安装requests库,pip install requests 

python2.7.5 安装pip

1 先安装setuptools

 liunx : wget https://files.pythonhosted.org/packages/b5/96/af1686ea8c1e503f4a81223d4a3410e7587fd52df03083de24161d0df7d4/setuptools-46.1.3.zip

 将下载后的tar文件解压,用CMD模式进入到解压后的文件所在的目录执行命令:python setup.py install

2 安装pip

liunx : wget https://files.pythonhosted.org/packages/d1/05/059c78cd5d740d2299266ffa15514dad6692d4694df571bf168e2cdd98fb/pip-20.1.tar.gz

   将下载后的tar文件解压,用CMD模式进入到解压后的文件所在的目录执行命令:python setup.py install 

>>> import requests
>>> r = requests.get('http://www.baidu.com')
>>> r.status_code  获取编码状态,返回200是OK的
200
>>> r.encoding='utf-8' 更改编码样式
>>> r.text  打印内容

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
'{"type":"User"...'
>>> r.json()
{'private_gists': 419, 'total_private_repos': 77, ...}

r是response返回的结果

  

>>> import requests
>>> r=requests.get('http://www.baidu.com')
>>> r.encoding
'ISO-8859-1'
>>> r.status_code
200
>>> r.apparent_encoding
'utf-8'
>>> r.text 这样会乱码

>>> r.encoding='utf-8'
>>> r.text   这样就不乱码了

  

  

get是获取所有信息,head是获取概要信息

 

 

request.get中patram和**k同request.request一样

13个参数同request.request一样

Disallow:/?*:不允许网络爬虫访问以?开始的路径

Robot协议:通过基本语法告知所有爬虫, 内部哪些资源可被爬虫,哪些不被爬虫,这个语法就是user-agent和Disallow

User-agent代表哪些爬虫,*代表所有爬虫;

 爬取京东某商品的信息

https://item.jd.com/2967929.html

import requests
url = "https://item.jd.com/2967929.html"
try:
    r = requests.get(url)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])
except:
    print("爬取失败")

>>> r.request.headers 查看我们发给京东的头部是啥

亚马逊:通过headers字段模拟浏览器向亚马逊提供requests求情

我们可以更新一个headrs,这样就有权利访问了,

百度360搜索并返回结果

搜索关键词Python

爬取并下载

 

http://www.icourse163.org/learn/BIT-1001870001?tid=1461946455#/learn/content?type=detail&id=1238729647&cid=1259474350

C:\Users\Administrator>pip install beautifulsoup4

http://python123.io/ws/demo.html

 

 

 

>>> import requests
>>> r=requests.get('http://python123.io/ws/demo.html')
>>> r.text

>>> damo=r.text

>>> from bs4 import BeautifulSoup  从bs4库引入了一个 BeautifulSoup类

>>> soup=BeautifulSoup(damo,"html.parser")   html.parser解析dame的html解析

 

>>> print(soup.prettify())

 

 

 

 

 

 

 

 

 

 

head\title\p\b\a\body等都属于标签

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-11-09 16:15  闲云野鹤cs  阅读(7)  评论(0编辑  收藏  举报