爬虫之Beautifulsoup的基本实用
基本方法如下:
# soup.a 只能找到第一个符合要求的标签
# soup.a.attrs 获取a所有的属性和属性值
# soup.a.attrs['href'] 获取href属性
# soup.a.string 获取a标签中存储的文本内容(直系)
# soup.a.text # 非直系 该标签下所有的文本内容
# soup.a.get_text() # 非直系 该标签下所有的文本内容
# soup.find('a') 找到第一个符合要求的标签
# soup.find('a', id='xxx') id为xxx的的a标签(返回一个)
# soup.findall('a') # 找到所有a标签
# soup.findall(['a', 'b']) # 找到所有a标签和b标签
# soup.select() # 根据选择器选择定位到标签
简单案例: 下载诗词名句网的三国演义文章
import requests
from bs4 import BeautifulSoup url = 'http://www.shicimingju.com/book/sanguoyanyi.html' fileTxt = requests.get(url).text
soup = BeautifulSoup(fileTxt, 'lxml') a_list = soup.select('.book-mulu > ul > li > a') f = open('sanguo.txt', 'w', encoding='utf8')
for a in a_list:
title = a.string detail_url = 'http://www.shicimingju.com' + a['href'] text = requests.get(detail_url).text
detail_soup = BeautifulSoup(text, 'lxml') content = detail_soup.find('div', class_='chapter_content').text
f.write(title+'\n'+content)
print(f'{title} 下载完毕')
print('over')
f.close()
爬虫之Beautifulsoup的基本实用的更多相关文章
- 爬虫模块BeautifulSoup
中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html# 1.1 安装BeautifulSoup模块 ...
- 使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)
为大家介绍下Python爬虫库BeautifulSoup遍历文档树并对标签进行操作的详细方法与函数下面就是使用Python爬虫库BeautifulSoup对文档树进行遍历并对标签进行操作的实例,都是最 ...
- Python开发爬虫之BeautifulSoup解析网页篇:爬取安居客网站上北京二手房数据
目标:爬取安居客网站上前10页北京二手房的数据,包括二手房源的名称.价格.几室几厅.大小.建造年份.联系人.地址.标签等. 网址为:https://beijing.anjuke.com/sale/ B ...
- Python 爬虫—— requests BeautifulSoup
本文记录下用来爬虫主要使用的两个库.第一个是requests,用这个库能很方便的下载网页,不用标准库里面各种urllib:第二个BeautifulSoup用来解析网页,不然自己用正则的话很烦. req ...
- python爬虫之BeautifulSoup
爬虫有时候写正则表达式会有假死现象 就是正则表达式一直在进行死循环查找 例如:https://social.msdn.microsoft.com/forums/azure/en-us/3f4390ac ...
- web爬虫,BeautifulSoup
BeautifulSoup 该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后遍可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单. 1 2 3 ...
- python 爬虫 requests+BeautifulSoup 爬取巨潮资讯公司概况代码实例
第一次写一个算是比较完整的爬虫,自我感觉极差啊,代码low,效率差,也没有保存到本地文件或者数据库,强行使用了一波多线程导致数据顺序发生了变化... 贴在这里,引以为戒吧. # -*- coding: ...
- Python爬虫——用BeautifulSoup、python-docx爬取廖雪峰大大的教程为word文档
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 廖雪峰大大贡献的教程写的不错,写了个爬虫把教程保存为word文件,供大家方便下载学习:http://p ...
- python3: 爬虫---- urllib, beautifulsoup
最近晚上学习爬虫,首先从基本的开始: python3 将urllib,urllib2集成到urllib中了, urllib可以对指定的网页进行请求下载, beautifulsoup 可以从杂乱的ht ...
随机推荐
- leetcode-821-Shortest Distance to a Character
题目描述: Given a string S and a character C, return an array of integers representing the shortest dist ...
- 2016级算法第二次上机-D.Bamboo的饼干
Bamboo的饼干 分析 从两个数组中各取一个数,使两者相加等于给定值.要注意去重和排序 难度不大,方法很多,基本只要不大于O(n^2 ) 的都可以过.本意想考察二分搜索 还可以借助stl中的map, ...
- 高阶篇:4.2.5)DFMEA建议措施及后续完备
本章目的:填写建议措施及DFMEA后续完备. 1.建议措施(k) 定义 总的来说,预防措施(降低发生率)比探测措施更好.举例来说,比起设计定稿后的产品验证/确认,使用已证实的设计标准或最佳实践更加可取 ...
- 123th LeetCode Weekly Contest Broken Calculator
On a broken calculator that has a number showing on its display, we can perform two operations: Doub ...
- TCPIP详解卷一
strongswan man page. kernel-book IntroductionParallelPro then POSIX THread
- Serical Port
QextSerialPort 虽然这次不用写串口,但今后可能要用到的三方类库. 这个帖子下面普及了串口的概念.VC++模块的部分
- 小程序 - 分包加载上限8M(一)
使用分包 配置方法 假设支持分包的小程序目录结构如下 ├── app.js ├── app.json ├── app.wxss ├── packageA │ └── pages │ ├── c ...
- Java - 关于子类父类的向上转型,向下转型
以下Animal为父类,Dog,Cat作为子类,分别继承Animal class Animal{ public void shout(){ System.out.println("叫了一声& ...
- Word常用定义的变量
unit U_WordConst; interface {*******Word窗体状态************} const wdWindowStateNormal = $00000000; ...
- spring-boot启动后在浏览器打开指定页面
来自:https://stackoverflow.com/questions/27378292/launch-browser-automatically-after-spring-boot-webap ...