爬虫学习的具体学习

第一步解析页面
解析界面需要发送请求,此时需要如下模块:

import requests

from bs4 import BeautifulSoup

上述模块即可分析出页面的具体源码

下面具体介绍如何使用此模块:

import requests
from bs4 import BeautifulSoup
url = 'http://www.4399.com/?hao360a'
x = requests.get(url)
x.encoding=x.apparent_encoding
html=x.text
soup = BeautifulSoup(html, 'html.parser')
print(html)

上述代码为爬取4399小游戏的代码
基本示例如下:

在这里插入图片描述

上述为部分网页源码,如有兴趣的可以自己再次查询。

第二部提取页面关键字
我们已经分析了页面了,接下来 我们如何选择出我们需要的内容呢?
比如 我们需要如下的信息:

在这里插入图片描述

此时 我们爬取指定的数据:
我们发现如下规则:
在这里插入图片描述

我们需要的数据的前面的标签如下:

 </div>
            <ul class="tm_list">
                    <li><a href="/flash/200372.htm"><span class="new"></span><img lzimg="1" lz_src="http://imga3.5054399.com/upload_pic/2018/9/5/4399_15170150241.jpg" alt="神偷鲍伯5" />神偷鲍伯5</a></li>

ul标签下,class="tm_list"里面。所以 我们写出如下代码:

soup = BeautifulSoup(html, 'html.parser')
for x in soup.find_all("ul", "tm_list"):
    print(x)

即遍历 ul class=“tm_list” ul标签下的tm_list类,此时 我们获取了所有的游戏的名字 网站,图标。
下面 我们就需要将此代码分解了,即将游戏名字,链接等分开保存在文件中,我们先分割此代码,将其放在不同的列表中,此时我们分割得出的相关列表如下:
在这里插入图片描述
如上,已经将相关的游戏与链接分割开来。
下面展示相关的核心代码:

for x in soup.find_all("ul", "tm_list"):
    X=x.text.strip()
    Text.append(X)
text=Text[0].split('\n')
res_url = r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')"
link = re.findall(res_url,html, re.I|re.S|re.M)
for c in link:
    www.append(c)

获取网址并且获得相关的链接,因为网页的处理不唯一,所以当获取了相关的数据后,根据相关的处理即可获得所需的相关数据,在这里,我获取的是133个热门小游戏的相关链接,

第三部保存数据
下面我用csv文件的处理形式保存数据:
核心代码如下:

with open("E:\\4399热门小游戏相关链接.csv", "w+", newline="", encoding="utf-8_sig") as f:
    writer = csv.writer(f)
    writer.writerow(['游戏名字', '游戏链接'])
    for row in all:
        writer.writerow(row)

如上保存在了E:\4399热门小游戏相关链接.csv,E盘中。下面我们打开E盘
获得如下:
在这里插入图片描述

此时 我们的爬取就结束了!
但是学海无涯,下面我将学习更多,后面会详解正则表达式,还有今天未爬取的相关知识,会在后面补充!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值