ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

网络爬虫

2020-01-23 17:40:44  阅读:338  来源: 互联网

标签:text 爬虫 网络 soup print beautifulsoup4 requests


文章目录

1 概述

网络爬虫应用一般分为两个步骤:
通过网页链接获取网页内容;对获得的网页内容进行处理。

这两个步骤分别使用不同的函数库:requests和beautifulsoup4。

采用pip指令安装requests库:

pip install requests

在这里插入图片描述
request库是一个简洁且简单的处理HTTP请求的第三方库,这个库建立在python语言的urllib3库的基础上。requests库支持非常丰富的链接访问功能,包括国际域名和URL获取、HTTP长连接和连接缓存、HTTP会话和cookie保持、流数据下载等。
采用pip指令安装beautifulsoup4库:

pip install beautifulsoup4

在这里插入图片描述
beautifulsoup4库由于解析和处理HTML和XML。beautifulsoup4采用面向对象思想实现,简单的说,他把每个页面当作一个对象,通过< a >.< b >的方式调用对象的属性(即包含的内容),或者通过< a >.< b >()的方式调用方法(即处理函数)。
在使用beautifulsoup4库之前,需要进行引用,可以用from-import方式从库中直接引用BeautifulSoup类,方法如下:

from bs4 import BeautifulSoup

2 简单爬虫实例

参考博客

import requests   #对网页进行请求
from bs4 import BeautifulSoup   #网页解析库
for i in range(0,100,10):  #0到100以10为步长,range总是考虑后面的数减步长
    url = 'http://maoyan.com/board/4?offset={}'.format(i)   #猫眼top100数据所在网页
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}   #因为猫眼对爬虫或许有反爬措施,所以这里进行简单的处理,将我们的爬虫伪装成是人访问
    response = requests.get(url,headers = headers)     #对网页进行请求并返回值
    html = response.text      #将网页内容以html返回
    soup = BeautifulSoup(html,'lxml')      #解析网页的一种方法
    name = soup.find_all('p',class_="name")    #对电影名字的定位
    score = soup.find_all('p',class_="score")   #对电影评分的定位
    time = soup.find_all('p',class_="releasetime")  #对电影上映时间的定位
    artist = soup.find_all('p',class_="star")       #对主演的定位
    dic = {}    #创建一个字典,用来储存
    for n in range(len(name)) :         #对于每一部电影进行同样的内容处理
        print(name[n].text)   #实现提取电影名字
        print(artist[n].text.strip()[3:])   #获取主演名字
        print(time[n].text[5:])    #上映时间
        print(score[n].text)   #评分
        print(dic)  #输出字典

运行结果:在这里插入图片描述

qq_40945375 发布了8 篇原创文章 · 获赞 0 · 访问量 151 私信 关注

标签:text,爬虫,网络,soup,print,beautifulsoup4,requests
来源: https://blog.csdn.net/qq_40945375/article/details/104071981

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有