
Python爬虫
文章平均质量分 87
阅码无数,方可成就自己。敲码无数,方可成就他人
查尔斯-狩乃
大数据分析
展开
-
Python爬虫11-Scrapy爬虫框架
前面章节着重介绍了但脚本的爬虫代码编写,从数据请求到数据解析和提取,都需要我们进行编写程序。本节所介绍的Scrapy爬虫框架,集数据字段定义、网络请求和解析、数据获取和处理等为一体,极大的方便了爬虫的编写过程。Scrapy是一个为了爬取网站信息,提取结构性数据而编写的应用爬虫框架。11.1scarapy的安装和使用11.1.1scrapy的安装 由于Scrapy爬虫框架依赖许多第三方库,所以在安装scrapy之前,需要确保以下第三方库均以安装。 1....原创 2021-09-18 19:43:31 · 916 阅读 · 0 评论 -
Python爬虫10-Selenium模拟登录
对于采用异步加载技术的网页,有时候通过逆向工程来构造爬虫是比较困难的。想用Python获取异步加载返回的数据,可以使用Selenium模块模拟浏览器。10.1Selenium和Phantomjs10.1.1Selenium的概念和安装 Selenium是一个用于web应用程序测试的工具,它直接运行在浏览器中,就像真实的用户在操作一样。由于这个性质,Selenium也是一个强大的网络数据采集工具,它可以让浏览器自动加载页面,这样使用了异步加载技术的网页,也可获取其需要...原创 2021-09-14 20:39:28 · 3394 阅读 · 0 评论 -
Python爬虫9-表单交互与模拟登录
无论是简单网页还是采用异步加载技术的网页,都是通过GET方法请求网址来获取网页信息的。但如何通过获取登录表单后的信息的?本节将讲解Reqquests库的Post方法,通过观测表单代码和逆向工程来填写表单以获取网页信息,以及通过提交Cookie信息来模拟登录网站。 本节设计的主要知识点如下: 表单交互:利用Requests库的POST方法进行表单交互 Cookie:了解Cookie的基本概念 模拟登录:学会利用Cookie...原创 2021-09-14 20:34:55 · 1075 阅读 · 0 评论 -
Python爬虫8-异步加载
9.1异步加载技术与爬虫方法9.1.1异步加载技术概述 传统的网页如果需要更新内容,必须重新加载整个网页页面,网页加载速度慢,用户体验差,而且数据传输少,会造成宽带浪费。异步加载技术(AJAX),即异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX可以是网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。9.1.2异步加载网页示例 上节讲到的简书网“首页投稿”热评...原创 2021-09-14 20:31:29 · 1713 阅读 · 0 评论 -
Python爬虫7-多进程爬虫
当数据的爬虫量越来越大的时候,除了要考虑存储的方式外,还需要考虑爬虫的速度问题。前面的爬虫都是串行爬取,只有当一次爬取完之后才进行下一次爬取,这样极大的限制了爬取的速度和效率。本章主要讲解多线程和多进程的概念,并通过案例对串行爬虫和多进程爬虫的性能进行对比,最后通过综合案例,讲解多进程爬取得方法和技巧。8.1多线程与多进程8.1.1多线程和多进程概述 当计算机运行程序时,就会创建包含代码和状态得进程。这些进程会通过计算机的一个和多个CPU执行。不过,同一时刻每个CP...原创 2021-09-14 20:30:14 · 1776 阅读 · 2 评论 -
Python爬虫6-数据库存储
6.1MongoDB数据库6.1.1MongoDB的使用import pymongoclient = pymongo.MongoClient('localhost',27017) #连接MongoDBmydb = client['mydb'] #连接数据库test = mydb['test'] #连接表test.insert_one({'name':'Jan','sex':'男原创 2021-09-14 20:02:04 · 492 阅读 · 0 评论 -
Python爬虫5-API和爬虫
a原创 2021-09-13 18:58:16 · 1385 阅读 · 0 评论 -
Python爬虫4-Lxml库与Xpath语法
5.1综合案例-爬取豆瓣图书TOP250的数据 利用request和Lxml第三方库,爬取豆瓣图书top250数据,并存储到CSV格式的文件中。5.1.1将数据存储到CSV文件中import csvfp = open("test.csv",'w+')writer = csv.writer(fp)writer.writerow(('id','name'))writer.writerow(('1','xiaoming'))writer.writerow(('2','...原创 2021-08-30 10:46:12 · 436 阅读 · 0 评论 -
Python爬虫3--正则表达式
4.1正则表达式常用符号4.1.1一般字符 正则表达式的一般字符有3个如下表字符 含义 . 匹配任意单个字符 \ 转义字符(把有特殊含义的字符转换成字面意思) [...] 字符集。对应字符集中的任意字符 说明: (1)“.”字符为匹配任意单个字符。例如,a.c可以的匹配结果为abc、aic、a&c等,但不包括换行符。 (2)“\”字符为转移字符,可以把字符改变为原来的意思。听上去不是...原创 2021-08-30 10:44:58 · 355 阅读 · 0 评论 -
Python爬虫2--BeautiSoup库
1.1爬取酷狗top500的数据import requestsfrom bs4 import BeautifulSoupimport timeheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}def get_info(url): wb_data = re原创 2021-08-30 10:44:24 · 229 阅读 · 0 评论 -
Python爬虫1-Requests库
目录1.1了解Requests的功能1.1.1使用GET和POST发送请求1.1.2通过URL传递参数1.1.3设置超时1.1.4查看返回内容1.1.5设置请求头1.1.6更多复杂的Post请求1.1.7返回对象状态码1.1.8设置代理IP1.1了解Requests的功能 Requests主要用途为发送网络请求,根据对方服务器的要求不同,可以使用GET、POST、PUT等方式进行请求。并且可以对请求头进行伪装、使用代理访问等。1.1.1...原创 2021-08-30 10:43:41 · 426 阅读 · 0 评论