实验环境: win7 python3.5 bs4 0.0.1   requests  2.19

实验日期:2018-08-07

爬取网站:http://www.xhsd.cn/

现在的网站大多有复杂的交互,地方政府的网站又太简单,体现不出bs4的解析过程; http://www.xhsd.cn/ 这个网站,还算现代,很可贵的是它还是直接在服务端返回的,客户端没有渲染;

2018-08-07 它的预览是这样的(爬取之前,先通过chrome浏览器 检查 页面元素,了解页面html构造)

  

希望抓取 推荐图书 新书速递  考试用书等

python 抓取代码

import requests
import  bs4
import pandas as pd
import re
url="""http://www.xhsd.cn/"""
r=requests.get(url)
html=r.textsoup=bs4.BeautifulSoup(html,'lxml')tables=soup.find_all('table',bgcolor="#ffffff")def etr(tb):content={}arr=list(filter(lambda x:len(str(x))>2,tb.children))tr1=arr[0]tr2=arr[1]label=next(tr1.stripped_strings)content['label']=labelprint(label)a_s=tr2.find_all('a',title=True)cs=[]for a in a_s:try:cts=list(a.stripped_strings)#print(cts)book,auth,price_now,price_before=ctsimg=a.find('img')['src']tmp={"book":book,"auth":auth,"price_now":price_now,"price_before":price_before,"image":img}cs.append(tmp)except:continuecontent["contents"]=csreturn content tables=tables
dfs=[]
for tb in tables:content=etr(tb)df_tmp=pd.DataFrame(data=content['contents'])df_tmp['label']=content['label']dfs.append(df_tmp)df=pd.concat(dfs,ignore_index=True)

图片的处理

爬取下来的数据中,有df['image']  以http://www.xhsd.cn//upload/2017/7/1500881045493.jpg 为例

['http://www.xhsd.cn//upload/2017/7/1500881045493.jpg', 'http://www.xhsd.cn//upload/20160701\\9787201077642.JPG', 'http://www.xhsd.cn//upload/20160621\\9787201088945.JPG', 'http://www.xhsd.cn//upload/2017/6/1498807359861.jpg']

下一张博客讲下载图片 和简单处理

转载于:https://www.cnblogs.com/mathf/p/9437190.html

【爬虫】002 python3 +beautifulsoup4 +requests 爬取静态页面相关推荐

  1. node 没有界面的浏览器_node.js爬虫入门(二)爬取动态页面(puppeteer)

    之前第一篇爬虫教程node.js爬虫入门(一)爬取静态页面讲解了静态网页的爬取,十分简单,但是遇到一些动态网页(ajax)的话,直接用之前的方法发送请求就无法获得我们想要的数据.这时就需要通过爬取动态 ...

  2. python3.x+requests 爬取网站遇到中文乱码的解决方案

    正常情况下,遇见问题上google找答案能甩百度100条街,但是这个问题是个例外······人家老外就没有乱码的问题.言归正传,首先建议大家看一下python3.x+requests 爬取网站遇到中文 ...

  3. 爬取静态页面分页内容

    静态准备爬取静态页面分页知识,因为写博客现在目的是当笔记一样,当学过知识梳理一遍,如果有观众,不喜勿喷,不足之处可以多多指点 工具:python3.6 操作系统:linux 浏览器:谷歌浏览器 创建项 ...

  4. Python爬虫实战之一 - 基于Requests爬取拉勾网招聘信息,并保存至本地csv文件

    Python爬虫实战之二 - 基于Requests抓取拉勾网招聘信息 ---------------readme--------------- 简介:本人产品汪一枚,Python自学数月,对于小白,本 ...

  5. python3爬虫系列之使用requests爬取LOL英雄图片

    我们最终目的就是要把抓取到的图片保存到本地,所以先写一个保存图片的方法(可以保存任何二进制文件).注意在windows下文件命名包含/ | ?可能会发生错误,有的英雄皮肤名称确实包含/,所以这里使用正 ...

  6. [python3 - TroubleShooting] requests爬取中文网站后直接print,以及保存csv乱码

    问题: page = requests.get().text返回的中文不管是直接print,还是保存进csv都出现了乱码 背景: 我爬取的网站head里定义了charset=utf-8 本地windo ...

  7. 爬虫:利用python+requests爬取全国肯德基餐厅门店信息,并写入CSV文件中

    爬虫思路: 1.确定url 2.发送请求 requests 3.解析数据 4.保存数据(本地) 关键库:requests,re,csv,pprint(用与console看数据) 一.利用lagou的一 ...

  8. python爬取斗鱼鱼吧_[Python爬虫]使用Python爬取静态网页-斗鱼直播

    作者:宅必备 Python爱好者社区--专栏作者 一个会写Python的Oracle DBA 个人公众号:宅必备 公众号:Python爱好者社区 作者其他文章: 好久没更新Python相关的内容了,这 ...

  9. python爬取网页停止_Python爬虫之爬取静态网页

    所谓网络爬虫,通俗的讲,就是通过向我们需要的URL发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息.所以,想要学习python爬虫,需要具备一些http的 ...

最新文章

  1. html5 原生 弹窗,一起来看 HTML 5.2 中新的原生元素 dialog
  2. 刘铁岩:如何四两拨千斤,高效地预训练NLP模型?
  3. matlab把cell矩阵转换成能处理的数据
  4. 模型可解释性-树结构可视化
  5. python整数类型进制表示_Python二进制、八进制、十六进制数字的表示和转换
  6. 怎么在电脑上使用python3.6_Windows下 Python3.6.1 运行环境的搭建
  7. 产品推广系统推荐乐云seo_优化推广公司红利产品推荐“爱采购cpc竞价版”
  8. AAAI 2022 | 北航提出基于特征纯化的视线估计算法,让机器更好地“看见”
  9. 1121:计算矩阵边缘元素之和
  10. DVP,LVDS和MIPI
  11. C++ 高级篇(五)—— 预处理指令
  12. 玩转算法面试-第四章查找值之leetcod相关笔记
  13. java远程插件动态注册机制_Spring运行时动态注册bean的方法
  14. android手机定位p适配,Android 9(P)版本适配指南
  15. 计算机视觉领域最好用的开源图像标注工具
  16. Unity3D之NGUI基础7:UI动态加载
  17. 拓端tecdat|R语言向量自回归VAR的迭代多元预测估计 GDP 增长率时间序列
  18. BAT中取得一个命令的执行结果
  19. atitit.信息系统方案规划 p71.doc
  20. typora高级设置字体_设计黑金风格高级感logo

热门文章

  1. 第17章 程序管理与SELinux初探
  2. 旋转标注框数据标签制作-roLabelImg
  3. 一文了解23种设计模式
  4. 《师育学大》:打造教育网站首页的关键
  5. assa_我院教师徐佳、李洋参加全美经济学会(AEA)和全美社会科学(ASSA)年会并进行海外招聘工作...
  6. ucgui 广告图片的8位色bmp以及gif文件 OSD层绘制说明
  7. 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写
  8. 常说的一区二区含义是什么?
  9. 华为杯数学建模思路整理
  10. 十个健脑绝招 锻炼大脑 提高记忆(转)