网络爬虫
网络爬虫 学习笔记
化身孤岛的鲸o
我祈祷拥有一颗透明的心灵
展开
-
Python Requests爬虫实践:TOP250电影数据
实践目的:获取豆瓣电影TOP250的所有电影的名称,网页地址为:https://movie.douban.com/top250第一步:得到网页的HTML代码:import requestsdef get_movies(): headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) \ ...原创 2020-02-27 17:03:54 · 331 阅读 · 0 评论 -
第四章 Python 动态网页爬取
关于静态网页我们知道静态网页在浏览器中展示的内容都在HTML源代码中。但是,由于主流网站都使用JavaScript展现网页内容,和静态网页不同的是,在使用JavaScript 时,很多内容并不会出现在HTML源代码中,所以爬取静态网页的技术可能无法正常使用。因此,我们需要用到动态网页抓取的两种技术:(1)通过浏览器审查元素解析真实网页地址(2)使用selenium模拟浏览器的方法异步更新...原创 2020-02-29 17:24:14 · 592 阅读 · 0 评论 -
Selenium爬虫实践:深圳短租数据
项目目的:获取Airbnb深圳前20页的短租数据:房源的名称、价格、评价数量、房屋类型、床数量和房客数量网页地址:https://www.airbnb.cn/s/Shenzhen–China?page=1代码如下:from selenium import webdriverdriver = webdriver.Chrome()driver.get('https://www.ai...原创 2020-03-13 23:42:31 · 756 阅读 · 1 评论 -
Python3 正则表达式
1、Python 正则表达式2、正则表达式模式语法3、正则表达式实例4、正则表达式修饰符 - 可选标志5、re.match函数6、re.search方法7、re.match与re.search的区别8、检索和替换9、compile 函数10、findall 函数11、re.finditer 函数12、re.split函数13、正则表达式对象Python 正则表达式...原创 2020-03-14 20:57:34 · 199 阅读 · 0 评论 -
使用BeautifulSoup解析网页
BeautifulSoup可以从HTML或者XML文件中提取数据。BeautifulSoup的安装安装BeautifulSoup非常简单,使用pip安装即可。在cmd中输入:pip install bs4使用BeautifulSoup获取博客主题import requestsfrom bs4 import BeautifulSouplink = "http://www.san...原创 2020-03-16 16:09:14 · 527 阅读 · 0 评论 -
使用lxml解析网页
lxml的安装使用pip安装pip install lxml关于lxmllxml使用的是Xpath语法,而且使用的是C语言编写,比不使用lxml解析器的BeautifulSoup快一些。Xpath是一门在XML文档中查找信息的语言。Xpath使用路径表达式来选取XML文档中的节点或节点集,也可以用在HTML获取数据中。import requestsfrom lxml impor...原创 2020-03-17 15:20:10 · 807 阅读 · 0 评论 -
BeautifulSoup爬虫实践:房屋价格数据
实践目的:获取安居客网站上北京二手房的数据。网页地址:https://beijing.anjuke.com/sale/实践代码:import requestsimport timefrom bs4 import BeautifulSoupheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) \ ...原创 2020-03-17 20:20:45 · 295 阅读 · 0 评论 -
网络爬虫 第六章 数据存储
概述一、基本存储:存储至TXT或CSV二、存储至MySQL数据库4、正则表达式修饰符 - 可选标志5、re.match函数6、re.search方法7、re.match与re.search的区别8、检索和替换9、compile 函数10、findall 函数11、re.finditer 函数12、re.split函数13、正则表达式对象概述主要是介绍两种存储数据...原创 2020-03-21 14:59:29 · 570 阅读 · 0 评论 -
MongoDB爬虫实践:虎扑论坛
https://bbs.hupu.com/bxjimport requestsfrom bs4 import BeautifulSoupimport datetimeimport redef get_page(link): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) \ Ap...原创 2020-03-24 15:37:53 · 390 阅读 · 0 评论 -
并发和并行、同步和异步、多线程爬虫
一、并发和并行并发(concurrency)和并行( parallelism)是两个相似的概念。 引用一个比较容易理解的说法,并发是指在一个时间段内发生若干事件的情况,并行是指在同一时刻发生若干事件的情况。这个概念用单核CPU和多核CPU比较容易说明。在使用单核CPU时,多个工作任务是以并发的方式运行的,因为只有一个CPU,所以各个任务会分别占用CPU的一段时间依次执行。如果在自己分得的时间段...原创 2020-04-08 23:33:54 · 1091 阅读 · 0 评论 -
Python 多协程爬虫
多协程爬虫除了多线程和多进程外,Python的网络爬虫还可以使用协程(Coroutine)协程是种用户态的轻量级线程,使用协程有众多好处:(1)第一个好处是协程像种在程序级别模拟系统级别的进程,由于是单线程,并且少了上下文切换,因此相对来说系统消耗很少,而且网上的各种测试也表明协程确实拥有惊人的速度。(2)第二个好处是协程方便切换控制流,这就简化了编程模型。协程能保留上一次调用时的状态(所有局部状态的一个特定组合),每次过程重入时,就相当于进入了上一次调用的状态。(3)第三个好处是协程的高扩展性和原创 2020-07-04 23:43:12 · 1372 阅读 · 0 评论 -
Python 多进程爬虫
多进程爬虫介绍Python的多线程爬虫只能运行在单核上,各个线程以并发的方法运行。由于GIL(全局解释器锁)的存在,多线程爬虫并不能充分地发挥多核CPU的资源。作为提升Python网络爬虫速度的另一种方法,多进程爬虫则可以利用CPU的多核,进程数取决于计算机CPU的处理器个数。由于运行在不同的核上,各个进程的运行是并行的。在Python中,如果我们要用多进程,就要用到multiprocessing这个库。使用multiprocessing库有两种方法,一种是使用Process + Queue的方法,另原创 2020-07-04 23:43:22 · 2768 阅读 · 1 评论