python爬虫常用模块介绍(1)_python爬虫常用模块介绍(1)
对于一些简单的爬虫,python(基于python3)有更好的第三方库来实现它,且容易上手。
1,urllib.request
urllib.request最常见的用法是直接使用urllib.request.urlopen()来发起请求,但通常这样是不规范的
一个完整的请求还应该包括headers这样的信息传递,可以这样实现
import urllib.request
headers={"xxx":"xxx"}
url="http://xxxxxxx"
dic={"xx":"xx","xx":"xx"}
data=urllib.parse.urlencode(data).encode('utf-8') #使用utf-8编码,将其转换为字节流,来提交字典参数
req=urllib.request.Request(url=url,headers=headers,method="post",data=data)
page=urllib.request.urlopen(req)
html=page.read().decode('utf-8')
通常防止爬虫被检测,我们需要规定headers,伪造爬虫头部信息,但此方法一般用途不大。
2,BeautifulSoup(美味汤)
beautifulsoup的功能很强大,利用它我们可以实现网页的轻松解析,省掉写很多正则表达式的麻烦。
它拥有几个强大的解析库,包括 内置的html解析器,lxml,html5lib。
一般默认的是html解析器 html.parser
最好的大概是lxml了
用法:
soup=BeautifulSoup(html,"html.parser")
################
soup=BeautifulSoup(html,"lxml")
###############3
soup=BeautifulSoup(html,"html5lib")
展现beautifulsoup强大的标签选择功能
获取某个html标签的属性:
print(soup.p['name'])
获取某个标签的内容:
print(soup.p.string)
获取某个标签内的所有内容,存入列表中
plist=soup.p.contents
find_all()标签选择器
例如我们要找到id=content 的div标签的内容
content=soup.find_all("div",{"id":"content"})
print(content)
select() --css选择器,包括(id值,class值,html标签等)
text=soup.select('.test_class')
这个几个选择器很有用,省去了编写正则表达式的繁琐。
python爬虫常用模块介绍(1)_python爬虫常用模块介绍(1)相关推荐
- python的scrapy框架的安装_Python爬虫基础(四)--Scrapy框架的安装及介绍
Scrapy框架的介绍 安装: pip3 install Scrapy 安装测试: cmd命令行界面,输入:scrapy -h 框架安装完成: scrapy框架: 分为五个模块+两个中间件(5+2结构 ...
- python爬虫用到的技术_python爬虫技术的选择
本篇文章不是入门帖,需要对python和爬虫领域有所了解. 爬虫又是另外一个领域,涉及的知识点比较多,不仅要熟悉web开发,有时候还涉及机器学习等知识,不过在python里一切变的简单,有许多第三方库 ...
- python爬虫需要对象编程吗_Python爬虫基础知识及前期准备
学习爬虫有一小段时间了,于是决定把自己学爬虫时所学的,写过的代码以及看过的文档记录下来,权当小结.第一次写这些,如果有错误,请多指教. 首先我们需要了解一下什么是爬虫. 根据百度百科上给出的定义,&q ...
- python爬虫入门实战争胜法_Python爬虫入门实战之猫眼电影数据抓取(理论篇)
前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...
- python爬虫资源路径报错_python爬虫
一.网络爬虫介绍 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成. 例如,百度.google搜索某关键字时,就是爬取整个互联网上的相关资源,给呈现出来. 实际爬 ...
- python爬虫用多线程还是多进程_python爬虫之多线程、多进程爬虫
多线程对爬虫的效率提高是非凡的,当我们使用python的多线程有几点是需要我们知道的: countdown是一个计数的方法,正常执行它,我们一般使用countdown(10),就可以达到执行的目的,当 ...
- python爬取网页数据软件_python爬虫入门10分钟爬取一个网站
一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...
- python selenium 进入新标签页_python 爬虫之selenium可视化爬虫
文章目录 前文回顾 快速入门 元素定位 页面操作 等待方式 扩展程序加载 点击此处,获取海量Python学习资料! 之所以把selenium爬虫称之为可视化爬虫 主要是相较于前面所提到的几种网页解析的 ...
- python爬虫十二种方法_Python爬虫的N种姿势
问题的由来 前几天,在微信公众号(Python爬虫及算法)上有个人问了笔者一个问题,如何利用爬虫来实现如下的需求,需要爬取的网页如下(网址为:https://www.wikidata.org/w/in ...
- python 模拟用户点击浏览器_python爬虫之selenium模拟浏览器
1.前言 之前在异步加载(AJAX)网页爬虫的时候提到过,爬取这种ajax技术的网页有两种办法:一种就是通过浏览器审查元素找到包含所需信息网页的真实地址,另一种就是通过selenium模拟浏览器的方法 ...
最新文章
- 拥有至高无上的特权 使用system账户
- 论文工具 | 翻译神器
- halcon圆环完整度检测
- Python自动化之高级语法单例模式
- JPA getValidationMode()
- 抛弃jQuery 深入原生的JavaScript
- Atitit 边缘检测原理attilax总结
- FTP文件传输工具(三)
- 金蝶计算机会计实验报告总结,会计实训总结(精选5篇)
- jsp代码编写简单的BBS论坛项目的总结
- 成都青白江的羽毛球场地
- matlab子函数中使用全局变量的使用方法
- android 4.0.3固件,OPPO Find3 android 4.0固件正式发布
- 设计一个以1秒频率闪烁的LED灯(亮灭各500ms)
- SSM实现物流管理系统快递
- 财务复式记账和平行登记有什么区别
- [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径 – 之深度分析
- LIS系统通讯程序原理与实现
- 基于javaweb心理咨询与诊断平台系统设计
- 墨尔本大学计算机研究生专业学费,墨尔本大学国际研究生专业学费
热门文章
- 《计算机系统:系统架构与操作系统的高度集成》——1.5 计算机硬件的演化...
- 基于PhalApi的Redis拓展
- PHP数据结构之实现链式二叉树与遍历
- jsp+servlet+mysql的简单使用
- 10月17号PC端云音乐项目总结
- 分享几个vue后台模板
- golang 获取当前年月日
- No package ‘libpeas-1.0‘ found/No package ‘libpeas-gtk-1.0‘
- 软件基本功:一行70限制早已无效,150起步
- CSDN排名规则变化略谈