美文网首页
2018-12-17

2018-12-17

作者: swagsmile | 来源:发表于2018-12-17 23:28 被阅读0次

爬虫打卡(一)

项目要求:

  • 手动输入isbn号,分别在当当网和京东网上爬取书籍,进行比价。
  1. 请求网页
  2. 解析网页
  3. 保存数据到文件

请求网页

使用requests模块,分析网页的地址(url)。

对当当网网页地址进行分析

输入一个isbn号后,网址为

http://search.dangdang.com/key=9787115454157&act=input

点击按价格排序后,网址为

http://search.dangdang.com/?key=9787115454157&act=input&sort_type=sort_xlowprice_asc#J_tab

发现只是增加了参数
输入一个不同的isbn号是,网址为

http://search.dangdang.com/?key=9787115454157&act=input

发现只有key关键字参数发生了改变。

解析网页

从网页源码中找到要提取的信息,点击图中红色箭头标记的图标,能定位到所要提取的信息元素对应的源码。根据网页源码解析网页,根据源代码可以得到解析的规则,这时需要用到一些解析库,如BeautifulSoup ,Xpath等。


网页元素与源代码.png

保存数据到文件

就将数据保存到 csv 文件中。

背景知识

HTML页面源代码布局介绍

<!DOCTYPE html>
此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
XHTML规范:必须小写,有开始结束标签,属性也用双引号。
HTML规范:不区分大小写,有开始和结束标签,也可把结束标签放在开始标签里,如:<input type='text' /> 。属性可用双引号、单引号(必须配对使用)。
HTML 节点:HTML页面的根节点,页面的代码信息都放在这个节点里。
<head> 节点:头部节点。包含以下子节点:
  <mete> 标签:提供页面的元信息(meta-information),比如页面关键字;
  <title> 标签:页面的标题;
  <script> 标签:一般存放Css和JavaScript代码的区域;
<Body> 节点:页面内容区域,存放html各元素信息
  <Div> 标签 : 存放各元素控件。
  <script> 标签:因为Html页面是从上到下加载,不是加载完再一次性显示内容,而是一边加载一边展示内容。
把Script放在body的后面,类似于说明此Script里的代码要调用body里的元素。若放在Head标签里,运行到此script代码时,body里的元素还没有加载,会获取不到所需的元素信息。

相关文章

网友评论

      本文标题:2018-12-17

      本文链接:https://www.haomeiwen.com/subject/bsphkqtx.html