下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习题一、单项选择题1、下面有关Requests库说法不正确的是(D)A、Requests是Python的一个HTTP请求库B、在Windows下安装可以使用命令“pipinstallrequests”C、在Linux下安装可以使用命令“sudopipinstallrequests”D、Requests库的GET请求不能携带参数(D)2、假定响应对象为r,关于Requests库通过以下方法获取响应内容不正确的是(D)A、r.status_code表示响应转态码B、r.raw表示原始响应体,使用r.raw.read()读取C、r.text表示字符串方式的响应体,会自动根据响应头部的字符编码进行解码。D、r.url表示获取网页中的所有网址二、判断题1、通用网络爬虫常用串行工作方式。(错)2、需要登录的网站一般通过GET请求就可以实现登录。(错)3、代理中间件的可用代理列表一定要写在setting.py中。(错)4、所有的异步加载都会向后台发送请求。(错)5、requests中get请求方法的使用为requests.get(url).(对)三、编程题1、使用requests请求框架和BeautifulSoup解析框架,爬取以下Url变量所指定的网页,获取其网页的标题和新闻内容。Url=/zwxx_176/bmdt/202104/t20210406_9072956.html”参考代码:#1.利用requests.get(url)获取网页页面的html文件
importrequests
newsurl='/zwxx_176/bmdt/202104/t20210406_9072956.html'
res=requests.get(newsurl)
res.encoding='utf_8'
print(res)
#2.利用BeautifulSoup的HTML解析器,生成结构树
frombs4importBeautifulSoup
soup=BeautifulSoup(res.text,'html.parser')
#3.找出特定标签的html元素
print(soup.p)#标签名,返回第一个
#打印网页的头部区域
print("打印网页的头部区域start")
print(soup.head)
print("打印网页的头部区域end")
#4.获取网页的标题、新闻内容
print("新闻的标题是:")
title=soup.select('.tit')[0].text#返回的是是一个列表对象,使用小标0进行获取,然后获取文字内容,使用了".text"方法
print(title)
print("新闻的内容是:")
content=soup.select('.view')[0].text
print(content)2、使用Xpath实现图书信息的爬取,网址为:/。要求:(1)爬取的图书的字段有:书名、价格和评分。(2)使用XPath将所有页的图书信息全部爬取下来。(3)将数据保存于文件中(推荐使用csv文件)。参考代码:importrequests
fromlxmlimporthtml
importcsv
base_url='/catalogue/'
pages=[base_url+str(i)+'.html'foriinrange(2,52)]
books=[]
forpageinpages:
page_source=requests.get(page).content.decode()
selector=html.fromstring(page_source)
titles=selector.xpath('//*[@id="default"]/div/div/div/div/section/div[2]/ol/li/article/h3/a/text()')
prices=selector.xpath('//*[@id="default"]/div/div/div/div/section/div[2]/ol/li/article/div[2]/p[1]/text()')
prices=[e[1:]foreinprices]
rating=selector.xpath('//*[@id="default"]/div/div/div/div/section/div[2]/ol/li/article/p/@class')
rating=[e.split('')[1]foreinrating]
foriinrange(len(prices)):
books.append((titles[i],prices[i],rating[i]))
print(books)
withopen("books.csv","w+")asf:
writer=csv.writer(f)
writer.writerow(('book_name','price','rating'))
writer.writerows(books)
print("处理完成")3、使用requests_html模块请求网页,请求的url地址如下,将指定网页中中的所有超练级打印输出到控制台。参考代码:URL=”/html/gndy/oumei/index.html”fromrequests_htmlimportHTMLSession
headers={
'user-agent':'Mozilla/5.0(WindowsNT6.1;WOW64)'
}
session=HTMLSession()
resp=session.get('/html/gndy/oumei/index.html')
resp.encoding="utf-8"
link=re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场监督转正报告范文
- 《机械设计基础 》课件-第9章
- 2024-2025学年年八年级数学人教版下册专题整合复习卷14.1.2 函数(含答案)
- 联通述职报告范文
- 工作检查报告范文
- 2025年天津a2货运从业资格证考试
- 2025年那曲货运从业资格证考题
- 2025年三门峡普通货运从业资格证模拟考试
- 2025年石家庄货运从业资格证模拟试题及答案大全
- 2025年遵义货运从业资格考试
- 地下室后浇带超前止水施工工法
- 医院科研论文自查方案
- 专家咨询服务合同
- 围墙格栅施工方案
- 意大利(百得)TBG 系列燃烧机说明书
- 2023年中国近现代史纲要
- 2023橡胶膜密封储气柜运行维护技术规程
- 桥梁加固维修施工组织设计
- 第八章-二元一次方程组单元达标提高题检测试卷
- 压力性损伤预防与处理流程
- DL/T 5225-2016 220kV~1000kV变电站通信设计规程
评论
0/150
提交评论