1.requeste模块,是我们Python对我们爬虫有好的一面,,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁*的地位。没有的话直接pip3 install requests安装一下就ok了
2.相对于 urllib而言,我们可以节省很多的时间,因为unlilb我们还得考虑编码以及post参数等等
不多扯别的,别的都是垃圾,直接上代码说话
1.爬取搜狗指定词条搜索后的页面数据
import requests
import os
#指定搜索关键字
word = input('请输入你要查找的关键字:')
#自定义请求头信息
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
}
#指定url
url = 'https://www.sogou.com/web' #发起请求
response = requests.get(url=url,headers=headers) #获取响应数据
page_text = response.text with open('./sougou.html','w',encoding='utf-8') as fp:
fp.write(page_text)
2.登录豆瓣电影,爬取登录成功后的页面数据
import requests
import os
#地址
url = 'https://accounts.douban.com/login'
#封装请求参数,在抓包工具中获得
data = {
"source": "movie",
"redir": "https://movie.douban.com/",
"form_email": "15010934948@163.com",
"form_password": "xxxxxxxxxx",
"login": "登录",
}
#自定义请求头信息
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
}
response = requests.post(url=url,data=data)
#注意,如果你后边接受的是text,那么写入的时候就要w写入
page_text = response.text with open('./douban111.html','w',encoding='utf-8') as fp:
fp.write(page_text)
3.爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据
#!/usr/bin/env python
# -*- coding:utf-8 -*- import requests
import urllib.request
if __name__ == "__main__": #指定ajax-get请求的url(通过抓包进行获取)
url = 'https://movie.douban.com/j/chart/top_list?' #定制请求头信息,相关的头信息必须封装在字典结构中
headers = {
#定制请求头中的User-Agent参数,当然也可以定制请求头中其他的参数
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',
} #定制get请求携带的参数(从抓包工具中获取)
param = {
'type':'',
'interval_id':'100:90',
'action':'',
'start':'',
'limit':''
}
#发起get请求,获取响应对象
response = requests.get(url=url,headers=headers,params=param) #获取响应内容:响应内容为json串
print(response.text)