爬虫学习

    xiaoxiao2022-07-13  149

    以下是参考其他博主 关于爬虫的学习

     

    一、参考:拓海的 (https://www.cnblogs.com/tuohai666/p/8718107.html)

    1、抓取静态网页的主标题

    静态是指网页代码完成之后显示内容和效果就不会变了,相对的动态页面会根据时间,环境,背后的数据库等进行实时的变化

    urllib.request:这是Python自带的库,不需要单独安装,它的作用是为我们打开url获取html的内容。使用这个库里的urlopen方法 

    BeautifulSoup:是一个可以从HTML或XML文件中提取数据的Python库。从bs4包中导入

     

    解释一下url、html等的区别

    如:http://mail.163.com/index.html

    1)http://:这个是协议,也就是HTTP超文本传输协议,也就是网页在网上传输的协议。

    2)mail:这个是服务器名,代表着是一个邮箱服务器,所以是mail.

    3)163.com:这个是域名,是用来定位网站的独一无二的名字。

    4)mail.163.com:这个是网站名,由服务器名+域名组成。

    5)/:这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录

    6:)index.html:这个是根目录下的默认网页(当然,163的默认网页是不是这个我不知道,只是大部分的默认网页,都是index.html)

    7)http://mail.163.com/index.html:这个叫做URL,统一资源定位符,全球性地址,用于定位网上的资源。

     

    在chrome里面先按F12(开发者工具)再按下ctrl+shift+c就可以点击哪里就显示哪里的element代码

    下面代码抓取class为nav-item-primary的部分,即大标题

    #爬取jr.jd.com网站上的头标题下 from bs4 import BeautifulSoup from urllib.request import urlopen html = urlopen('http://jr.jd.com') bs_obj = BeautifulSoup(html.read(), 'html.parser') # parser是一个解析器 暂时还不了解 text_list = bs_obj.find_all("a", "nav-item-primary") # “a”是指什么 for text in text_list: print(text.get_text()) html.close() '''输出为: 首页 财富 众筹 保险 白条 股票 东家财富 企业金融 金融云 城市计算 '''

    2、抓取动态页面的数据

    Selenium:是一个网络数据采集工具,是一个在WebDriver 上调用的API(WebDriver 有点儿像浏览器,它也可以像BeautifulSoup对象一样用来查找页面元素,与页面上的元素进行交互(发送文本、点击等),以及执行其他动作来运行网络爬虫)

    PhantomJS:是一个“无头”(headless)浏览器。加载并执行JavaScript,但是不显示UI。它不是Python库,将它的exe文件拷贝在Python安装目录的Scripts文件夹。

    下面抓取网易云音乐的高播放量歌单

    歌单首页url:http://music.163.com/#/discover/playlist/?order=hot&cat=全部&limit=35&offset=0

     

     

    最新回复(0)