使用类库:

from bs4 import BeautifulSoupimport requestsimport re 

个人比较喜欢BeautifulSoup
url  = "http://www.jianshu.com/c/2ba824b6ed53?utm_medium=index-collections&utm_source=desktop"res = requests.get(url)res.cencoding = 'utf-8'soup = BeautifulSoup(res.text,"lxml")

将soup 获取到 使用正则表达式进行解析
titles_html = soup.select("#list-container > ul > li > div > a")  使用soup的选择去惊醒选择 这个可以通过浏览器的 copy selector 或者牛逼的话自己也可以写。就是div下面一层一层拨开,这里如果有id的话直接以id开头就可以content_html = soup.select("#list-container > ul > li > div > p")re_title = re.compile(r'target="_blank">(.*?)</a>')re_content = re.compile(r'<p class="abstract">[\s\D]* (.*?)\n')
正则表达式的使用:通过re.compile, r'' 这里面写正则 一般是用首尾讲去要的信息括起来,需要的信息使用() 惊醒匹配,括号里面写自己需要取得信息

这里最常用的的  .  这个 . 能够取到除了换行符之外的所有字符, * 代表任意个字符。** 如果需要取包括换行符的字符 可以用 [\s\S] 

另外人工分析的时候需要非常小心这个字符里面的东西。 分析清楚才能写出简单并且正确的正则表达式. 尤其是换行符要非常注意。 

* 有几点去要注意的:  一、通过soup.select 得到的是list 而且list 里面的元素的类型 是  bs4.element.Tag   类型 ,这个类型是不能直接用正则表达式进行解析的 要使用str 将这个元素转化为String类型,这样就能够惊醒解析。  二、建议获取soup 集合后可以打印一下 第一个元素的类型和值,通过查看类型和值能够帮你更好地进行分析,然后方便写出正则表达式。

转载于:https://www.cnblogs.com/enzoluo-blog/p/7810719.html

python 中爬虫的运用相关推荐

  1. Python中爬虫框架或模块的区别

    Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...

  2. Python中爬虫框架或模块的区别!

    Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...

  3. python中爬虫隐藏身份的设置

    爬虫中我们可以隐藏自己身份的方法: 1)设置user-agent属性 from urllib import request from urllib import parseurl = 'http:// ...

  4. python中爬虫程序提问,python爬虫(二)爬取知乎问答

    都说知乎上问答的质量挺高,刚学爬虫没几天,现在对其问答内容进行爬虫实验. 在知乎首页,通过输入关键词,搜索问题,之后点击问题找到该问题对应的网友回答. 根据该过程,爬虫过程需要分为两步: 1.通过关键 ...

  5. python爬虫能干什么-爬虫可以做的事情非常多,Python的爬虫你又了解多少?

    原标题:爬虫可以做的事情非常多,Python的爬虫你又了解多少? 现在爬虫可以做的事情非常多,数据.信息.电影.资料等,你技术过关了,爱咋爬咋爬,仔细观察,加上你如果认真观察,就会发现学习爬虫的人越来 ...

  6. 如何学习Python数据爬虫?

    现行环境下大数据与人工智能的重要依托还是庞大的数据和分析采集,就如淘宝.京东.百度.腾讯级别的企业能够通过数据可观的用户群体获取需要的数据.而一般企业可能就没有这种通过产品获取数据的能力和条件.因此, ...

  7. __init__在python中的用法知乎_python使用selenium爬虫知乎的方法示例

    说起爬虫一般想到的情况是,使用 python 中都通过 requests 库获取网页内容,然后通过 beautifulSoup 进行筛选文档中的标签和内容.但是这样有个问题就是,容易被反扒机制所拦住. ...

  8. python中data.find_all爬取网站为空列表_Python网络爬虫之Scrapy 框架-分布式【第二十九节】...

    1. 介绍scrapy-redis框架 scrapy-redis 一个三方的基于redis的分布式爬虫框架,配合scrapy使用,让爬虫具有了分布式爬取的功能. github地址: https://g ...

  9. python多线程爬虫实例-Python多线程在爬虫中的应用

    题记:作为测试工程师经常需要解决测试数据来源的问题,解决思路无非是三种:(1)直接从生产环境拷贝真实数据 (2)从互联网上爬取数据 (3)自己用脚本或者工具造数据.前段时间,为了获取更多的测试数据,笔 ...

最新文章

  1. Python 之 matplotlib (五)Annotation注解
  2. windows的键盘输入重定向
  3. version robot
  4. jQuery浏览器版本判断
  5. windows环境下python 虚拟环境的创建和使用(virtualenvwrapper)
  6. Spring容器创建流程(4)调用beanFactory后置处理器
  7. Spring Boot学习总结(14)——Spring Boot常见面试题汇总
  8. PAT乙级 1005 继续(3n+1)猜想 (25分)
  9. 神经网络造“汉字”新技能全开,biangbiang面自愧不如
  10. dw cc链接mysql_Adobe Dreamweaver CC MySQL连接 报404错误的解决方法_MySQL
  11. 论文阅读笔记——具有圆形光滑标记的面向任意对象检测
  12. 360导航源码php,仿360网址导航源码v3.0
  13. 在c语言中的变量分为三种类型,在C语言中的实型变量分为两种类型
  14. python分析 【都挺好】小说任务关系
  15. 什么是前端开发工程师
  16. 介绍identity matrices
  17. 【Distill 系列:三】CVPR2019 Relational Knowledge Distillation
  18. openlayers绘制自定义点线面样式,带清除功能Vue版
  19. python语言的实验心得体会范文_实验心得体会范文
  20. 创维e900什么芯片_创维E900V21C晶晨芯片卡刷包 V1.0 免费版

热门文章

  1. Android开发第二次课 布局方式
  2. 做为产品经理如何判断一个创业项目是否靠谱?
  3. 由浅入深剖析go channel
  4. Python使用os.listdir()函数来得目录内容的介绍
  5. 数据结构(四)---栈的顺序存储的实现---java版
  6. python简单连接数据库
  7. 启动数据库报错(1)ORA-01157,ORA-01110
  8. org.json使用指南
  9. 梯度迭代树回归(GBDT)算法介绍及Spark MLlib调用实例(Scala/Java/python)
  10. 4.12任务 apache结合php以及apache默认虚拟主机