014集:python访问互联网:网络爬虫实例—python基础入门实例

以pycharm环境为例:

首先需要安装各种库(urllib:requests:Openssl-python等)

python爬虫中需要用到的库,大致可分为:1、实现 HTTP 请求操作的请求库;2、从网页中提取信息的解析库;3、Python与数据库交互的存储库;4、爬虫框架;5、Web框架库。

一、请求库

实现 HTTP 请求操作

1、urllib:一系列用于操作URL的功能。

2、requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。

3、selenium:自动化测试工具。一个调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。

4、aiohttp:基于 asyncio 实现的 HTTP 框架。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。

二、解析库

从网页中提取信息

1、beautifulsoup:html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。

2、pyquery:jQuery 的 Python 实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。

3、lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

4、tesserocr:一个 OCR 库,在遇到验证码(图形验证码为主)的时候,可直接用 OCR 进行识别。

三、存储库

Python与数据库交互

1、pymysql:一个纯 Python 实现的 MySQL 客户端操作库。

2、pymongo:一个用于直接连接 mongodb 数据库进行查询操作的库。

3、redisdump:一个用于 redis 数据导入/导出的工具。基于 ruby 实现的,因此使用它,需要先安装 Ruby。

四、爬虫框架

1、Scrapy:很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如 weibo 的页面信息,这个框架就满足不了需求了。

2、Crawley:高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为 JSON、XML 等。

3、Portia:可视化爬取网页内容。

4、newspaper:提取新闻、文章以及内容分析。

5、python-goose:java 写的文章提取工具。

6、cola:一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高。

五、Web框架库

1、flask:轻量级的 web 服务程序,简单,易用,灵活,主要来做一些 API 服务。做代理时可能会用到。

2、django:一个 web 服务器框架,提供了一个完整的后台管理,引擎、接口等,使用它可做一个完整网站。

爬取前需添加软件库,方法如下:

014集:python访问互联网:网络爬虫实例—python基础入门实例_第1张图片

我们以爬取某贴吧评论为实例,代码如下: 

import csv
import requests
import re
import time
def main(page):
    url = f'https://tieba.baidu.com/p/7394085357'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
    }
    resp = requests.get(url,headers=headers)
    html = resp.text
    # 评论内容
    comments = re.findall('style="display:;">                    (.*?)
',html) # 评论用户 users = re.findall('class="p_author_name j_user_card" href=".*?" target="_blank">(.*?)',html) # 评论时间 comment_times = re.findall('楼(.*?)50: continue csvwriter.writerow((u,t,c)) print(u,t,c) print(f'第{page}页爬取完毕') if __name__ == '__main__': with open('01.csv','a',encoding='utf-8')as f: csvwriter = csv.writer(f) csvwriter.writerow(('评论用户','评论时间','评论内容')) for page in range(1,8): # 爬取前7页的内容 main(page) time.sleep(2)

运行结果为:

 

pps卡 2021-06-08 15:55 ❓问:热血神器是什么,在哪里下载?

❣️答:17年以前的“热血宝宝挂”已经改名“热血神器”并纳为官方挂,后来有部分盗用宝宝名字的外挂,某些存在盗号风险,官方打压不建议使用!
热血神器下载地址,官网,充值中心,私享服务下面有链接,贴吧右侧也有链接。

首先下载两个热血神器,一个收费版一个免费版,收费版本的某些功能收费但是可以免费查店和免费多开,打开查线器可以查看每个服务器的情况。 Cz灬风 2021-06-08 16:02 本帖水贴是会被删除的哦,不要水贴哈~❤️可以楼层里面回复提问! 贴吧用户_QCbRR32 2021-06-08 16:26 升到10级转完职去九泉,能免费带到40级(进去会有人自动组你的,只限10级-30级),如果是晚上的话你能到五十几级,(因为晚上后半夜代练睡觉了不会踢人)。弓箭手,刺客这两个职业可能不会组,有些开了职业过滤的。 第1页爬取完毕 pps卡 2021-06-08 15:55 ❓问:热血神器是什么,在哪里下载?

❣️答:17年以前的“热血宝宝挂”已经改名“热血神器”并纳为官方挂,后来有部分盗用宝宝名字的外挂,某些存在盗号风险,官方打压不建议使用!
热血神器下载地址,官网,充值中心,私享服务下面有链接,贴吧右侧也有链接。

首先下载两个热血神器,一个收费版一个免费版,收费版本的某些功能收费但是可以免费查店和免费多开,打开查线器可以查看每个服务器的情况。 Cz灬风 2021-06-08 16:02 本帖水贴是会被删除的哦,不要水贴哈~❤️可以楼层里面回复提问! 贴吧用户_QCbRR32 2021-06-08 16:26 升到10级转完职去九泉,能免费带到40级(进去会有人自动组你的,只限10级-30级),如果是晚上的话你能到五十几级,(因为晚上后半夜代练睡觉了不会踢人)。弓箭手,刺客这两个职业可能不会组,有些开了职业过滤的。 第2页爬取完毕 pps卡 2021-06-08 15:55 ❓问:热血神器是什么,在哪里下载?

❣️答:17年以前的“热血宝宝挂”已经改名“热血神器”并纳为官方挂,后来有部分盗用宝宝名字的外挂,某些存在盗号风险,官方打压不建议使用!
热血神器下载地址,官网,充值中心,私享服务下面有链接,贴吧右侧也有链接。

首先下载两个热血神器,一个收费版一个免费版,收费版本的某些功能收费但是可以免费查店和免费多开,打开查线器可以查看每个服务器的情况。 Cz灬风 2021-06-08 16:02 本帖水贴是会被删除的哦,不要水贴哈~❤️可以楼层里面回复提问! 贴吧用户_QCbRR32 2021-06-08 16:26 升到10级转完职去九泉,能免费带到40级(进去会有人自动组你的,只限10级-30级),如果是晚上的话你能到五十几级,(因为晚上后半夜代练睡觉了不会踢人)。弓箭手,刺客这两个职业可能不会组,有些开了职业过滤的。 第3页爬取完毕 pps卡 2021-06-08 15:55 ❓问:热血神器是什么,在哪里下载?

❣️答:17年以前的“热血宝宝挂”已经改名“热血神器”并纳为官方挂,后来有部分盗用宝宝名字的外挂,某些存在盗号风险,官方打压不建议使用!
热血神器下载地址,官网,充值中心,私享服务下面有链接,贴吧右侧也有链接。

首先下载两个热血神器,一个收费版一个免费版,收费版本的某些功能收费但是可以免费查店和免费多开,打开查线器可以查看每个服务器的情况。 Cz灬风 2021-06-08 16:02 本帖水贴是会被删除的哦,不要水贴哈~❤️可以楼层里面回复提问! 贴吧用户_QCbRR32 2021-06-08 16:26 升到10级转完职去九泉,能免费带到40级(进去会有人自动组你的,只限10级-30级),如果是晚上的话你能到五十几级,(因为晚上后半夜代练睡觉了不会踢人)。弓箭手,刺客这两个职业可能不会组,有些开了职业过滤的。 第4页爬取完毕 pps卡 2021-06-08 15:55 ❓问:热血神器是什么,在哪里下载?

❣️答:17年以前的“热血宝宝挂”已经改名“热血神器”并纳为官方挂,后来有部分盗用宝宝名字的外挂,某些存在盗号风险,官方打压不建议使用!
热血神器下载地址,官网,充值中心,私享服务下面有链接,贴吧右侧也有链接。

首先下载两个热血神器,一个收费版一个免费版,收费版本的某些功能收费但是可以免费查店和免费多开,打开查线器可以查看每个服务器的情况。 Cz灬风 2021-06-08 16:02 本帖水贴是会被删除的哦,不要水贴哈~❤️可以楼层里面回复提问! 贴吧用户_QCbRR32 2021-06-08 16:26 升到10级转完职去九泉,能免费带到40级(进去会有人自动组你的,只限10级-30级),如果是晚上的话你能到五十几级,(因为晚上后半夜代练睡觉了不会踢人)。弓箭手,刺客这两个职业可能不会组,有些开了职业过滤的。 第5页爬取完毕 pps卡 2021-06-08 15:55 ❓问:热血神器是什么,在哪里下载?

❣️答:17年以前的“热血宝宝挂”已经改名“热血神器”并纳为官方挂,后来有部分盗用宝宝名字的外挂,某些存在盗号风险,官方打压不建议使用!
热血神器下载地址,官网,充值中心,私享服务下面有链接,贴吧右侧也有链接。

首先下载两个热血神器,一个收费版一个免费版,收费版本的某些功能收费但是可以免费查店和免费多开,打开查线器可以查看每个服务器的情况。 Cz灬风 2021-06-08 16:02 本帖水贴是会被删除的哦,不要水贴哈~❤️可以楼层里面回复提问! 贴吧用户_QCbRR32 2021-06-08 16:26 升到10级转完职去九泉,能免费带到40级(进去会有人自动组你的,只限10级-30级),如果是晚上的话你能到五十几级,(因为晚上后半夜代练睡觉了不会踢人)。弓箭手,刺客这两个职业可能不会组,有些开了职业过滤的。 第6页爬取完毕 pps卡 2021-06-08 15:55 ❓问:热血神器是什么,在哪里下载?

❣️答:17年以前的“热血宝宝挂”已经改名“热血神器”并纳为官方挂,后来有部分盗用宝宝名字的外挂,某些存在盗号风险,官方打压不建议使用!
热血神器下载地址,官网,充值中心,私享服务下面有链接,贴吧右侧也有链接。

首先下载两个热血神器,一个收费版一个免费版,收费版本的某些功能收费但是可以免费查店和免费多开,打开查线器可以查看每个服务器的情况。 Cz灬风 2021-06-08 16:02 本帖水贴是会被删除的哦,不要水贴哈~❤️可以楼层里面回复提问! 贴吧用户_QCbRR32 2021-06-08 16:26 升到10级转完职去九泉,能免费带到40级(进去会有人自动组你的,只限10级-30级),如果是晚上的话你能到五十几级,(因为晚上后半夜代练睡觉了不会踢人)。弓箭手,刺客这两个职业可能不会组,有些开了职业过滤的。 第7页爬取完毕 进程已结束,退出代码为 0

 014集:python访问互联网:网络爬虫实例—python基础入门实例_第2张图片

 

然后我们以访问百度为例,代码如下: 

from urllib import request
req = request.urlopen("http://www.baidu.com")
print(req.read().decode("utf-8"))

返回结果如下: 

F:\software\pythonProject\venv\Scripts\python.exe F:\software\pythonProject\0104.py 
百度一下,你就知道