搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Python爬虫从菜鸟到高手
0.00     定价 ¥ 119.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购15本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302640516
  • 作      者:
    李宁
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2023-09-01
收藏
编辑推荐

“私房菜谱”

 Python爬虫基础知识

 Python网络库

 Python解析库

 Python数据存储

 Python异步数据抓取

 Python Splash爬虫

 Python移动App数据抓取

 Python多线程爬虫

 Python可见即可“爬”

 Python Scrapy实战

 Python识别验证码

 Python项目实战

 “实战项目”

 抓取小说目录与正文

 抓取豆瓣网图书榜单

 抓取房屋租赁信息

 抓取豆瓣网音乐排行榜

 抓取百度网站图片搜索中的图片

 检测滑动验证码

  可视化爬虫抓取和分析图书评论


展开
作者简介

李宁  华为HDE(HUAWEI Developer Experts),UnityMarvel创始人,开放原子基金会银牌讲师,51CTO学堂金牌讲师,IT畅销书作者。从事软件研究和开发超过20年,长期从事编译器、人工智能、Python、JavaScript、Java及跨平台技术的研究和开发工作,曾出版超过40本IT图书。

展开
目录

第一篇基础知识

第1章开发环境配置.3

6分钟

1.1搭建Python编程环境3

1.1.1获取Python安装包.3

1.1.2安装Windows版的Python开发包4

1.1.3安装macOS版的Python开发包.4

1.1.4安装Linux版的Python开发包5

1.2安装AnacondaPython开发环境.5

1.3消除PythonREPL中的错误和警告.6

1.4安装PyCharm7

1.5配置PyCharm8

1.6小结9

第2章爬虫基础.10

10分钟

2.1HTTP基础.10

2.1.1URI和URL10

2.1.2超文本11

2.1.3HTTP与HTTPS11

2.1.4HTTP的请求过程.13

2.1.5请求16

2.1.6响应19

2.2网页基础.22

2.2.1HTML基础.22

2.2.2CSS基础23

2.2.3CSS选择器.23

2.2.4JavaScript.25

2.3爬虫的基本原理.25

2.3.1爬虫的分类26

2.3.2爬虫抓取数据的方式和手段26

2.4Session与Cookie27

6Python爬虫从菜鸟到高手

2.4.1静态页面和动态页面27

2.4.2无状态HTTP与Cookie.28

2.4.3利用Session和Cookie保持状态.28

2.4.4查看网站的Cookie29

2.4.5HTTP状态何时会失效30

2.5项目实战:抓取所有的网络资源31

实例2.1基于递归算法的爬虫的代码34

2.6项目实战:抓取博客文章列表.35

实例2.2抓取博客园首页文章列表的爬虫36

2.7小结38

第二篇网络库

第3章网络库urllib.41

39分钟

3.1urllib简介41

3.2发送请求与获得响应42

3.2.1用urlopen函数发送HTTPGET请求42

实例3.1使用HTTPResponse读取响应数据42

3.2.2用urlopen函数发送HTTPPOST请求.43

实例3.2使用urlopen函数发送HTTPPOST请求,并获得返回数据43

3.2.3请求超时.44

实例3.3捕捉urlopen函数的超时异常45

3.2.4设置HTTP请求头45

实例3.4修改和提交HTTP请求头45

3.2.5设置中文HTTP请求头.47

实例3.5设置和解码中文HTTP请求头.48

3.2.6请求基础验证页面49

实例3.6请求基础验证页面50

3.2.7搭建代理与使用代理53

实例3.7通过代理访问Web页面55

3.2.8读取和设置Cookie55

实例3.8读取Cookie56

实例3.9将Cookie保存为Mozille格式和LWP格式.57

实例3.10装载和发送Cookie.58

3.3异常处理.59

3.3.1URLError.59

实例3.11捕捉发送请求抛出的异常.59

3.3.2HTTPError60

目录7

实例3.12使用HTTPError类和URLError类捕捉异常.60

3.4解析链接.61

3.4.1拆分与合并URL方法一(urlparse与urlunparse)61

实例3.13使用urlparse函数和urlunparse函数拆分与合并URL62

3.4.2拆分与合并URL方法二(urlsplit与urlunsplit)63

实例3.14使用urlsplit函数和urlunsplit函数拆分与合并URL63

3.4.3连接URL(urljoin)64

实例3.15使用urljoin函数连接URL64

3.4.4URL编码(urlencode).65

实例3.16使用urlencode函数编码包含中文的URL.65

3.4.5编码与解码(quote与unquote)65

实例3.17使用quote函数和unquote对URL中的参数编码和解码65

3.4.6参数转换(parse_qs与parse_qsl)65

实例3.18拆分由多个参数组成的字符串.66

3.5Robots协议66

3.5.1Robots协议简介.66

3.5.2分析Robots协议68

实例3.19用robots.txt约束爬虫68

3.6小结69

第4章网络库urllib370

10分钟

4.1urllib3简介70

4.2urllib3模块70

4.3发送HTTPGET请求71

实例4.1获取百度的搜索结果71

4.4发送HTTPPOST请求72

实例4.2发送HTTPPOST请求,并接收返回结果.72

4.5HTTP请求头73

实例4.3搜索天猫商城中的数据.74

4.6HTTP响应头76

实例4.4获取并输出HTTP响应头信息.76

4.7上传文件.76

实例4.5将任意文件上传到服务端77

4.8超时78

实例4.6连接超时和读取超时78

4.9小结79

第5章网络库requests80

17分钟

5.1基本用法.80

8Python爬虫从菜鸟到高手

5.1.1requests的HelloWorld80

实例5.1发送HTTPGET请求,并获取响应的返回信息80

5.1.2HTTPGET请求81

实例5.2设置HTTPGET请求参数81

5.1.3添加HTTP请求头82

实例5.3设置HTTP请求头82

5.1.4抓取二进制数据.83

实例5.4抓取并保存图像.83

5.1.5HTTPPOST请求84

实例5.5发送HTTPPOST请求,并获取响应数据.84

5.1.6响应数据.84

实例5.6向简书发送HTTPGET请求,并输出响应结果85

5.2高级用法.85

5.2.1上传文件.86

实例5.7上传本地图像86

5.2.2处理Cookie87

实例5.8获取和发送Cookie87

5.2.3使用同一个会话(Session)88

实例5.9Session与Cookie密切配合维护会话88

5.2.4SSL证书验证89

实例5.10捕捉证书验证异常.89

5.2.5使用代理.92

实例5.11通过代理访问天猫首页,并输出响应内容92

5.2.6超时92

实例5.12连接超时和读取超时93

5.2.7身份验证.93

实例5.13发送Basic验证请求.94

5.2.8将请求打包94

实例5.14封装和发送请求94

5.3小结95

第三篇解析库

第6章正则表达式99

35分钟

6.1使用正则表达式.99

6.1.1使用match方法匹配字符串99

实例6.1利用match方法与group方法实现模式匹配99

6.1.2使用search方法在一个字符串中查找模式100

目录9

实例6.2使用match方法与search方法进行匹配和搜索100

6.1.3匹配多个字符串101

实例6.3择一匹配符与匹配和搜索.101

6.1.4匹配任何单个字符.102

实例6.4点符号的匹配与替换102

6.1.5使用字符集.103

实例6.5字符集和择一匹配符的用法和差别104

6.1.6重复、可选和特殊字符105

实例6.6各种匹配符号的用法106

6.1.7分组.108

实例6.7在正则表达式中使用分组.108

6.1.8匹配字符串的起始和结尾及单词边界.109

实例6.8匹配字符串的起始和结束位置及单词的边界.110

6.1.9使用findall函数和finditer函数查找每一次出现的位置.111

实例6.9使用findall函数和finditer函数搜索字符串.111

6.1.10用sub函数和subn函数搜索与替换113

实例6.10使用sub函数和subn函数搜索和替换字符串.113

6.1.11使用split函数分隔字符串.114

实例6.11使用split函数分隔字符串.114

6.2一些常用的正则表达式115

实例6.12使用Email、IP地址和Web地址的正则表达式.115

6.3项目实战:抓取小说目录和全文116

实例6.13抓取小说目录爬虫的完整实现118

6.4小结.120

第7章lxml与XPath121

28分钟

7.1lxml基础121

7.1.1安装lxml121

7.1.2操作XML.122

实例7.1使用lxml获取XML的节点文本和属性值122

7.1.3操作HTML124

实例7.2使用lxml获取HTML文档的节点文本和属性值124

7.2XPath125

7.2.1XPath概述125

7.2.2使用XPath125

实例7.3利用lxml和XPath提取HTML文件中的信息125

7.2.3选取所有节点127

实例7.4使用XPath选取HTML文件中的节点.127

7.2.4选取子节点.128

10Python爬虫从菜鸟到高手

实例7.5使用XPath根据规则选取<a>节点129

7.2.5选取父节点.129

实例7.6使用XPath选取<a>节点和父节点,并输出class属性值130

7.2.6属性匹配与获取130

实例7.7根据href属性过滤<a>节点.130

7.2.7多属性匹配.131

实例7.8使用and和or选取<a>节点.131

7.2.8按序选择节点132

实例7.9使用XPath和索引获取特定<a>节点132

7.2.9节点轴选择.133

实例7.10使用XPath和节点轴选择方法获取特定的节点.133

7.2.10在Chrome中自动获得XPath代码135

实例7.11利用requests库抓取京东商城导航条文本.135

7.2.11使用Chrome验证XPath137

7.3项目实战:抓取豆瓣Top250图书榜单138

实例7.12抓取豆瓣Top250图书榜单爬虫完整实现141

7.4项目实战:抓取起点中文网的小说信息142

实例7.13抓取起点中文网小说信息爬虫完整实现.144

7.5小结.146

第8章BeautifulSoup库.147

24分钟

8.1BeautifulSoup简介.147

8.2BeautifulSoup基础.147

8.2.1安装BeautifulSoup.147

8.2.2选择解析器.148

8.2.3编写第一个BeautifulSoup程序.149

实例8.1使用BeautifulSoup分析HTML代码.149

8.3节点选择器.150

8.3.1选择节点150

实例8.2使用BeautifulSoup节点选择器获取特定节点的信息151

8.3.2嵌套选择节点152

实例8.3嵌套选择HTML文档中的节点.152

8.3.3选择子节点.153

实例8.4选取子节点和子孙节点154

8.3.4选择父节点.156

实例8.5获取a节点的父节点156

8.3.5选择兄弟节点157

实例8.6获取li节点的同级节点.158

8.4方法选择器.159

目录11

8.4.1find_all方法159

实例8.7使用find_all方法搜索ul节点和li节点.160

实例8.8根据属性值定位节点161

实例8.9通过节点内容定位文本节点162

8.4.2find方法163

实例8.10搜索特定条件的节点.163

8.5CSS选择器164

8.5.1基本用法164

实例8.11使用CSS选择器查询特定的节点.164

8.5.2嵌套选择节点165

实例8.12混合使用CSS选择器和方法选择器搜索特定节点165

8.5.3获取属性值与文本.167

实例8.13使用CSS选择器选取特定的a节点167

8.5.4通过浏览器获取CSS选择器代码168

实例8.14使用CSS选择器获取京东上传导航条的链接文本168

8.6实战案例:抓取酷狗网络红歌榜170

实例8.15抓取酷狗网络红歌榜爬虫完整实现171

8.7小结.172

第9章pyquery库173

24分钟

9.1pyquery简介173

9.2pyquery基础173

9.2.1安装pyquery173

9.2.2pyquery的基本用法174

实例9.1通过3种方式为PyQuery对象传入HTML文档174

9.3CSS选择器175

实例9.2使用pyquery和CSS选择器分析和提取HTML代码中的信息175

9.4查找节点177

9.4.1查找子节点.177

实例9.3使用find方法和children方法查找子节点177

9.4.2查找父节点.178

实例9.4使用parent方法和parents方法获取父节点.178

9.4.3查找兄弟节点179

实例9.5使用siblings方法查找兄弟节点179

9.4.4获取节点信息180

实例9.6获取节点的各种信息182

9.5修改节点184

9.5.1添加和移除节点的样式(addClass和removeClass).184

实例9.7修改节点的样式185

12Python爬虫从菜鸟到高手

9.5.2修改节点属性和内容(attr、removeAttr、text和html)186

实例9.8attr方法、removeAttr方法、text方法和html方法的用法演示187

9.5.3删除节点(remove).188

实例9.9使用remove方法删除节点189

9.6伪类选择器.190

实例9.10伪类选择器用法展示.190

9.7项目实战:抓取当当图书排行榜191

实例9.11分析当当图书搜索页面194

9.8项目实战:抓取京东商城手机销售排行榜196

实例9.12分析京东商城搜索页面,并将结果保存到Excel文档中.197

9.9小结.201

第四篇数据存储

第10章文件存储.205

38分钟

10.1打开文件205

10.2操作文件的基本方法.206

10.2.1读文件和写文件.207

实例10.1使用不同模式操作文件207

10.2.2读行和写行208

实例10.2按行读写文本文件209

10.3使用FileInput对象读取文件210

实例10.3获取文件内容和相关属性210

10.4处理XML格式的数据211

10.4.1读取与搜索XML文件211

实例10.4获取XML文件的节点和属性信息211

10.4.2字典转换为XML字符串212

实例10.5将字典对象转换为格式化的XML文件213

10.4.3XML字符串转换为字典214

实例10.6将XML文件转换为字典对象214

10.5处理JSON格式的数据.215

10.5.1JSON字符串与字典互相转换216

实例10.7字典与JSON字符串互相转换.216

10.5.2将JSON字符串转换为类实例217

实例10.8将product.json文件转换为Product对象218

10.5.3将类实例转换为JSON字符串219

实例10.9将Product对象转换为JSON文件219

10.5.4类实例列表与JSON字符串互相转换219

目录13

实例10.10将Product对象列表与JSON文件互相转换219

10.6将JSON字符串转换为XML字符串220

实例10.11将products.json文件转换为XML文件220

10.7CSV文件存储.221

10.7.1写入CSV文件.221

实例10.12将数据写入CSV文件.222

10.7.2读取CSV文件.223

实例10.13读取CSV文件中的数据224

10.8小结224

第11章数据库存储225

5分钟

11.1SQLite数据库.225

11.1.1管理SQLite数据库225

11.1.2用Python操作SQLite数据库228

实例11.1读写SQLite数据库中的数据228

11.2项目实战:抓取豆瓣音乐排行榜.230

实例11.2抓取豆瓣音乐Top250排行榜爬虫完整实现.232

11.3项目实战:抓取豆瓣电影排行榜.235

实例11.3抓取豆瓣电影Top250排行榜爬虫的完整实现236

11.4小结239

第五篇爬虫高级应用

第12章抓取异步数据243

11分钟

12.1异步加载与AJAX243

12.2基本原理243

实例12.1使用jQuery发送请求,并获取数据244

12.3逆向工程246

12.4提取结果249

实例12.2使用requests访问异步请求的URL.249

12.5项目实战:支持搜索功能的图片爬虫250

实例12.3图片爬虫完整实现253

12.6项目实战:抓取京东图书评价255

实例12.4抓取京东图书评价爬虫完整实现.256

12.7小结259

第13章可见即可“爬”:Selenium260

16分钟

13.1安装Selenium.260

14Python爬虫从菜鸟到高手

13.2安装WebDriver261

13.2.1安装ChromeDriver.261

13.2.2安装EdgeWebDriver262

13.2.3安装其他浏览器的WebDriver263

13.3Selenium的基本使用方法264

实例13.1使用Selenium控制浏览器.264

13.4查找节点267

13.4.1查找单个节点267

实例13.2使用find_element查找单个节点267

13.4.2查找多个节点269

实例13.3使用find_elements查找多个节点.269

13.5节点交互270

实例13.4模拟单击浏览器中的按钮270

13.6动作链.271

实例13.5模拟鼠标移动动作,自动控制京东商城首页271

实例13.6模拟拖拽动作移动节点273

13.7执行JavaScript代码274

实例13.7动态执行JS代码滚动京东商城首页274

13.8获取节点信息.275

实例13.8使用SeleniumAPI获取京东商城首页HTML中的信息.275

13.9管理Cookies.276

实例13.9用SeleniumAPI读写Cookie.276

13.10改变节点的属性值277

实例13.10改变百度搜索按钮的位置277

实例13.11修改京东商城首页的导航条菜单278

13.11项目实战:抓取QQ空间说说的内容.279

实例13.12抓取QQ空间说说内容爬虫完整代码.279

13.12小结281

...

...

...

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证