志在指尖
用双手敲打未来

python爬虫和数据分析(python网络爬虫技术)

python爬虫和数据分析

一.python爬虫运用的模块
1.importrequests
2.frombs4importBeautifulSoup
3.pandas数据分析高级接口模块
二.爬取数据在第一个恳求中时,运用BeautifulSoup
importrequests
#引证requests库
frombs4importBeautifulSoup
#引证BeautifulSoup库
res_movies=requests.get(‘https://movie.douban.com/chart’)
#获取数据
bs_movies=BeautifulSoup(res_movies.text,’html.parser’)
#解析数据
list_movies=bs_movies.find_all(‘div’,class_=’pl2′)
#查找最小父级标签
list_all=[]
#创建一个空列表,用于存储信息
formovieinlist_movies:
tag_a=movie.find(‘a’)
#提取第0个父级标签中的标签
name=tag_a.text.replace(”,”).replace(‘\n’,”)
#电影名,运用replace办法去掉剩余的空格及换行符
url=tag_a[‘href’]
#电影详情页的链接
tag_p=movie.find(‘p’,class_=’pl’)
#提取父级标签中的
标签
information=tag_p.text.replace(”,”).replace(‘\n’,”)
#电影基本信息,运用replace办法去掉剩余的空格及换行符
tag_div=movie.find(‘div’,class_=’starclearfix’)
#提取父级标签中的
标签
rating=tag_div.text.replace(”,”).replace(‘\n’,”)
#电影评分信息,运用replace办法去掉剩余的空格及换行符
list_all.append([name,url,information,rating])
#将电影名、URL、电影基本信息和电影评分信息,封装为列表,用append办法添加进list_all
print(list_all)
#打印python爬虫
三.当数据不在第一个恳求中时,运用network获取数据
例如:
importrequests
frombs4importBeautifulSoup
res=requests.get(‘https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=71746668539504502&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=10&w=%E5%91%A8%E6%9D%B0%E4%BC%A6&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8?ice=0&platform=yqq.json&needNewCode=0’)
res_json=res.json()
songs=res_json[‘data’][‘song’][‘list’]
foriinrange(len(songs)):
print(songs[i][‘name’])
四.带参数param能够恳求不同数据,带header能够伪装为浏览器
importrequests
#引证requests模块
foriinrange(0,3):
url=’https://movie.douban.com/j/search_subjects’
header={
‘Origin’:’https://y.qq.com’,
‘Referer’:’https://y.qq.com/portal/search.html’,
‘Sec-Fetch-Mode’:’cors’,
‘User-Agent’:’Mozilla/5.0(WindowsNT10.0;Win64;x64)’
}
param={‘type’:’movie’,
‘tag’:’抢手’,
‘sort’:’recommend’,
‘page_limit’:’20’,
‘page_start’:i*20}
#print(param)
res_movie=requests.get(url,params=param,headers=header)
#调用get办法,下载电影列表
json_movie=res_movie.json()
#运用json()办法,将response对象,转为列表/字典
#print(json_movie)
list_movies=json_movie[‘subjects’]
#一层一层地取字典,获取电影称号
forcommentinlist_movies:
#list_movies,comment是它里面的元素
print(comment[‘title’])
#输出电影名称号
五.保存数据

python网络爬虫技术

Python爬虫,简单来说,即经过Python程序获取对咱们有用的数据。如果咱们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫便是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站建议恳求,获取资源后分析并提取有用数据的程序。从技能层面来说,便是经过程序模拟浏览器恳求站点的行为,把站点回来的HTML代码/JSON数据/二进制数据(图片、视频)爬到本地,进而提取自己需要的数据,存放起来运用。爬虫基本流程如下:python爬虫
第一步:建议恳求。一般是经过HTTP库,对方针站点进行恳求。等同于自己打开浏览器,输入网址;
第二步:获取响应内容(Response)。如果恳求的内容存在于服务器上,那么服务器会回来恳求的内容,一般为:HTML,二进制文件(视频,音频),文档,Json字符串等;
第三步:解析内容。对于用户而言,便是寻觅自己需要的信息。能够运用Xpath解析HTML的内容获取自己想要的信息数据,也能够运用正则匹配,办法有很多种,这一般看用户自己的偏爱或者说了解哪个技能点;
第四步:保存数据。解析得到的数据能够多种形式,如文本,音频,视频保存在本地。

未经允许不得转载:IT技术网站 » python爬虫和数据分析(python网络爬虫技术)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载