Python爬虫学习(持续更新)

当服务器通过request的header中的用户信息防止爬取时,修改header改为一个浏览器就好

import requests
from bs4 import BeautifulSoup
kv={'user-agent':'Mozilla/5.0'}
r=requests.get("http://python-requests.org/en/master/",headers=kv)
r.encoding=r.apparent_encoding
print(r.encoding)
soup=BeautifulSoup(r.text,'html.parser')
print(soup.prettify())

你也许经常想为 URL 的查询字符串(query string)传递某种数据。如果你是手工构建 URL,那么数据会以键/值对的形式置于 URL 中,跟在一个问号的后面。例如, httpbin.org/get?key=val。 Requests 允许你使用 params 关键字参数,以一个字符串字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=value2 到 httpbin.org/get ,那么你可以使用如下代码:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)

 例如百度搜索的关键字

import requests
from bs4 import BeautifulSoup
kz={'wd':'ACMICPC'}
r=requests.get("http://www.baidu.com/s",params=kz)
print(r.status_code)
print(r.url)
r.encoding=r.apparent_encoding
print(r.text)

爬取谷歌的logo

import requests
path = 'D:/123.jpg'
url='https://www.google.com.hk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png'
r = requests.get(url)
with open(path,'wb') as f:
	f.write(r.content)
f.close()

其中content是response的一个内容,将返回内容用二进制的形式返回

其中requests类也可以看作response类的一个子类

猜你喜欢

转载自blog.csdn.net/Gipsy_Danger/article/details/81082516
今日推荐