【Python3.6爬虫学习记录】(二)使用BeautifulSoup爬取简单静态网页文章
2017-08-12 20:38
1076 查看
前言:自学第二天,大致搞懂,要学什么,要怎么学的问题。
与我而言,主要是针对一些库来循序渐进:requests(urllib)->BeautifulSoup(re,xpath)->selenium(PhantomJS)->scrapy
某乎看到的最好的答案:
如何入门Python爬虫?-知乎
BeautifulSoup的安装:
命令提示符程序下输入:
lxml的安装:
安装没有想象的那么简单,直接如下安装会出现错误
正确的姿态是这样的:
1,安装wheel,命令行运行:
2,检查pip支持的版本,IDE中运行:
3, 在这里下载对应的.whl文件,注意别改文件名!
4,进入.whl所在的文件夹(建议直接放在命令行程序最开始出现的文件夹,本人是:C:\Users\lenovo>),执行命令即可完成安装pip install 带后缀的完整文件名(本人是:lxml-3.8.0-cp36-cp36m-win32.whl)
爬虫实践:
一,BeautifulSoup的使用
详细教程点这里,
不用全部看,只用大致了解,用到的时候再查。我照着打了一部分:
二,实践代码-抓取简书文章
与我而言,主要是针对一些库来循序渐进:requests(urllib)->BeautifulSoup(re,xpath)->selenium(PhantomJS)->scrapy
某乎看到的最好的答案:
如何入门Python爬虫?-知乎
BeautifulSoup的安装:
命令提示符程序下输入:
pip install beautifulsoup4
lxml的安装:
安装没有想象的那么简单,直接如下安装会出现错误
pip install lxml
正确的姿态是这样的:
1,安装wheel,命令行运行:
pip install wheel
2,检查pip支持的版本,IDE中运行:
import pip print(pip.pep425tags.get_supported())
3, 在这里下载对应的.whl文件,注意别改文件名!
4,进入.whl所在的文件夹(建议直接放在命令行程序最开始出现的文件夹,本人是:C:\Users\lenovo>),执行命令即可完成安装pip install 带后缀的完整文件名(本人是:lxml-3.8.0-cp36-cp36m-win32.whl)
pip install lxml-3.8.0-cp36-cp36m-win32.whl
爬虫实践:
一,BeautifulSoup的使用
详细教程点这里,
不用全部看,只用大致了解,用到的时候再查。我照着打了一部分:
print(soup.prettify()) # 格式化输出网址源码 # 打印title,用soup加标签名轻松获得标签内容,而不需要用正则表达式 print(soup.title) print(soup.head) print(soup.p) #只打印第一个p的部分 print(soup.div.attrs) # 打印div标签的所有属性,得到的类型是一个字典 print(soup.div['class']) # 但单独打印div的某一个部分 print(soup.title.string) # .string获得标签内部的文字 # 遍历文档树 # 直接子节点 .contents .children print('直接子节点') for child in soup.body.children : print(child) # 用来遍历 # 所有子孙节点 .descendans 包括其内部所有内容 print('所有子孙节点') for child in soup.body.descendants: print(child) # 所有父节点 .parents # 所有兄弟节点 .next_siblings .previous_siblings # 所有前后节点 .next_elements .previous_elements # 节点内容 .string (s)s # 搜索文档树 # 注意:如果一个指定名字的参数不是搜索内置的参数名, # 搜索时会把该参数当作指定名字tag的属性来搜索, # 如果包含一个名字为 id 的参数,Beautiful Soup会搜索每个tag的”id”属性
二,实践代码-抓取简书文章
# 爬虫利器-BeautifulSoup--抓取简书文章 # 首先导入bs4库 from bs4 import BeautifulSoup import requests url = 'http://www.jianshu.com/p/82833d443e76' # 获得网址源码 html = requests.get(url).content soup = BeautifulSoup(html, 'lxml') print('开始抓取') title = soup.title.string with open(title+'.txt', 'w') as f: href = soup.find_all('p') try: f.write('\t%s\r\n' %str(title)) #前面%s 后面之间空格加%内容 for hre in href: if(hre.string!=None): #未解决标签内容回车后打印none问题 f.write('\t%s\r\n' %str(hre.string)) except Exception: print('发生错误') print('抓取成功')
相关文章推荐
- 【Python3.6爬虫学习记录】(一)爬取简单的静态网页图片
- 【Python3.6爬虫学习记录】(五)Cookie的使用以及简单的爬取知乎
- 【Python3.6爬虫学习记录】(六)urllib详细使用方法(header,代理,超时,认证,异常处理)
- 【Python3.6爬虫学习记录】(三)简单的爬虫实践-豆瓣《河神》演员图片及姓名
- 【Python3.6爬虫学习记录】(七)使用Selenium+ChromeDriver爬取知乎某问题的回答
- 【Python3.6爬虫学习记录】(十一)使用代理IP及用多线程测试IP可用性--刷访问量
- 使用python语言结合beautifulsoup编写简单的网络爬虫
- Python 爬虫 正则抽取网页数据和Scrapy简单使用
- Python爬虫包 BeautifulSoup 学习(十) 各种html解析器的比较及使用
- Python爬虫学习——使用selenium和phantomjs爬取js动态加载的网页
- Python爬虫学习笔记一:简单网页图片抓取
- Python入门简单的静态网页爬虫3.0 (爬虫的示例代码)
- 简单爬虫python实现02——BeautifulSoup的使用
- [Python学习] 简单网络爬虫抓取博客文章及思想介绍
- 一个简单的不用cookie的人人网状态爬取的python爬虫,使用beautifulsoup
- [Python学习] 简单网络爬虫抓取博客文章及思想介绍
- node.js 学习笔记003 :使用superagent和cheerio实现简单网页爬虫
- Python入门简单的静态网页爬虫1.0 (爬虫架构 )
- python的【爬虫】:使用urllib爬取wiki文章,使用beautifulSoup解析html
- python python 入门学习之网页数据爬虫cnbeta文章保存