• BeautifulSoup 解析库

https://www.cnblogs.com/kermitjam/p/10863925.html

主要功能:从网页爬取数据

但是这个库需要依赖一个解析器 !!!

主要解析器,及其优缺点:

文档树 通过下一个标签查找

遍历文档树

返回一个生成器(generator) 拿到一个对象 从对象里拿到需要的内容 比直接拿到内容节省资源

可以驱动js内部还是实现异步(并发)请求

  

 1 '''
 2 主页:
 3     图标地址、下载次数、大小、详情页地址
 4 
 5 详情页:
 6     游戏名、图标名、好评率、评论数、小编点评、简介、网友评论、1-5张截图链接地址、下载地址
 7 https://www.wandoujia.com/wdjweb/api/category/more?catId=6001&subCatId=0&page=1&ctoken=FRsWKgWBqMBZLdxLaK4iem9B
 8 
 9 https://www.wandoujia.com/wdjweb/api/category/more?catId=6001&subCatId=0&page=2&ctoken=FRsWKgWBqMBZLdxLaK4iem9B
10 
11 https://www.wandoujia.com/wdjweb/api/category/more?catId=6001&subCatId=0&page=3&ctoken=FRsWKgWBqMBZLdxLaK4iem9B
12 
13 32
14 '''
15 import requests
16 from bs4 import BeautifulSoup
17 # 1、发送请求
18 def get_page(url):
19     response = requests.get(url)
20     return response
21 
22 # 2、开始解析
23 # 解析主页
24 def parse_index(data):
25     soup = BeautifulSoup(data, 'lxml')
26 
27     # 获取所有app的li标签
28     app_list = soup.find_all(name='li', attrs={"class": "card"})
29     for app in app_list:
30         # print('tank *' * 1000)
31         # print(app)
32         # 图标地址
33         img = app.find(name='img').attrs['data-original']
34         print(img)
35 
36         # 下载次数
37         down_num = app.find(name='span', attrs={"class": "install-count"}).text
38         print(down_num)
39 
40         import re
41         # 大小
42         size = soup.find(name='span', text=re.compile("\d+MB")).text
43         print(size)
44 
45         # 详情页地址
46         detail_url = soup.find(name='a', attrs={"class": "detail-check-btn"}).attrs['href']
47         print(detail_url)
48 
49 
50 def main():
51     for line in range(1, 33):
52         url = f"https://www.wandoujia.com/wdjweb/api/category/more?catId=6001&subCatId=0&page={line}&ctoken=FRsWKgWBqMBZLdxLaK4iem9B"
53 
54         # 1、往app接口发送请求
55         response = get_page(url)
56         # print(response.text)
57         print('*' * 1000)
58         # 反序列化为字典
59         data = response.json()
60         # 获取接口中app标签数据
61         app_li = data['data']['content']
62         # print(app_li)
63         # 2、解析app标签数据
64         parse_index(app_li)
65 
66 
67 if __name__ == '__main__':
68     main()
爬取豌豆荚app数据(提取游戏主页)

  • MongoDB 存储库

https://www.cnblogs.com/kermitjam/p/10863933.html#_label1

  1. 安装:
https://www.mongodb.com/download-center#community (下载地址)

安装好数据库后 添加环境变量 mongodb bin 将bin目录添加到环境变量中

2.数据库操作

  • python链接MongoDB

pip3installpymongo

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn