可锐资源网

技术资源分享平台,提供编程学习、网站建设、脚本开发教程

电商爬虫练习-手机数据库爬虫(手机端爬虫工具)

今天给群里一位小伙伴写了个手机数据爬虫,数据量很大,单品牌高达上千个产品数据,数据来源网站:https://phonedb.net/,仅作学习交流使用,请勿对目标网站造成损害,正在学习电商爬虫的朋友可以看看。

以下是代码:

import requests, re
from lxml import etree
import warnings
from multiprocessing.dummy import Pool

pool1 = Pool(3)
pool2 = Pool(3)
List = []

warnings.filterwarnings('ignore')

def crawl1(link):
    response2 = requests.get('https://phonedb.net/' + link, params=params, cookies=cookies, headers=headers,
                            verify=False).text

    html2 = etree.HTML(response2)
    prolinks = html2.xpath('//div[@class="content_block_title"]/a/@href')

    for prolink in prolinks:
        List.append(prolink)
        print('已添加链接:' + prolink)


def crawl2(prolink):
    response3 = requests.get('https://phonedb.net/' + prolink, params=params, cookies=cookies, headers=headers,
                             verify=False)

    html3 = etree.HTML(response3.text)
    title = html3.xpath('//h1/text()')[0]
    brand = html3.xpath('//a[@id="datasheet_item_id1"]/following-sibling::a/text()')[0]
    brief = html3.xpath('//table/tr[4]/td/text()')[0]
    Manufacturer = html3.xpath('//a[@id="datasheet_item_id3"]/following-sibling::a/text()')[0]
    lens = html3.xpath('//a[@id="datasheet_item_id85"]/parent::*/text()')[0]
    inch = html3.xpath('//a[@id="datasheet_item_id86"]/following-sibling::a/text()')[0]
    Display_type = html3.xpath('//a[@id="datasheet_item_id106"]/following-sibling::a/text()')[0]
    battery = html3.xpath('//a[@id="datasheet_item_id442"]/following-sibling::a/text()')[0]
    country = html3.xpath('//a[@id="datasheet_item_id494"]/following-sibling::a/text()')[0]
    Regions = html3.xpath('//a[@id="datasheet_item_id496"]/following-sibling::a/text()')[0]
    print(title, brand, brief, Manufacturer, lens, inch, Display_type, battery, country, Regions)


cookies = {
    '_ga': 'GA1.2.739326458.1749462647',
    '_gid': 'GA1.2.2008628745.1749462647',
    'viewed_device': '.23843.',
    '__gads': 'ID=4cb82f90b464eb87:T=1749462801:RT=1749462801:S=ALNI_MZwm84OZ_v0LsJqQz_YuYJP7UaH_A',
    '__gpi': 'UID=0000112736146a3d:T=1749462801:RT=1749462801:S=ALNI_MZXdKeRHBRck7e-RcPtgL3O9--0ng',
    '__eoi': 'ID=d969f88626211e75:T=1749462801:RT=1749462801:S=AA-AfjZ40jrvbgc8ngFRb1sLINIP',
    '_gat': '1',
    '_ga_3LYF7SMBX2': 'GS2.2.s1749462647$o1$g1$t1749463415$j60$l0$h0',
}

headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'DNT': '1',
    'Pragma': 'no-cache',
    'Referer': 'https://phonedb.net/index.php?m=device&s=list&first=huawei&filter=1769',
    'Sec-Fetch-Dest': 'document',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-User': '?1',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36',
    'sec-ch-ua': '"Google Chrome";v="137", "Chromium";v="137", "Not/A)Brand";v="24"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    # 'Cookie': '_ga=GA1.2.739326458.1749462647; _gid=GA1.2.2008628745.1749462647; viewed_device=.23843.; __gads=ID=4cb82f90b464eb87:T=1749462801:RT=1749462801:S=ALNI_MZwm84OZ_v0LsJqQz_YuYJP7UaH_A; __gpi=UID=0000112736146a3d:T=1749462801:RT=1749462801:S=ALNI_MZXdKeRHBRck7e-RcPtgL3O9--0ng; __eoi=ID=d969f88626211e75:T=1749462801:RT=1749462801:S=AA-AfjZ40jrvbgc8ngFRb1sLINIP; _gat=1; _ga_3LYF7SMBX2=GS2.2.s1749462647$o1$g1$t1749463415$j60$l0$h0',
}

params = {
    'm': 'device',
    's': 'list',
    'first': 'huawei',
    'filter': '0',
}

response = requests.get('https://phonedb.net/index.php', params=params, cookies=cookies, headers=headers, verify=False).text
links = re.findall('title="Jump to page \d+" href="(.*?)">', response)
#print(links)

pool1.map(crawl1, links)
pool2.map(crawl2, List)

超实用的14款MySQL数据库管理工具

MySQL是当前流行的数据库引擎之一,具有成本低、速度快、体积小且开放源代码的优点。今天就给大家分享14款MySQL数据库管理工具。

1.MySQLDumper

这款软件的应用,有效解决使用PHP进行大数据库备份和恢复的问题,数百兆的数据库都可以方便的备份恢复,不用担心中间中断的问题。

2.phpMyAdmin

这是一款MySQL维护工具,管理数据库非常方便。不过这款软件也有弱点,那就是不方便大数据库的备份和恢复。

经典怀旧手游装备篇十年怀旧再创武林,全新武器装备附魔玩法介绍

《武林外传十年之约》作为经典武侠背景下的一款手游,它以其独特的魅力和丰富的玩法,将玩家带入了一个充满江湖气息的世界。在众多玩法中,装备附魔无疑是玩家提升实力和个性化角色的重要途径。本文将为你详细解析《武林外传十年之约》手游中的装备附魔玩法,让你在江湖中大放异彩。

《飞飞重逢手游》宠物升星养成玩法,迎接更加精彩的飞行冒险之旅

《飞飞重逢手游》在现代手游中,宠物系统越来越受到玩家们的喜爱。它们不仅能给我们带来可爱的陪伴,更在战斗中发挥着不可或缺的作用。在《飞飞重逢》这款手游中,宠物升星玩法更是让许多玩家感到兴奋与期待。今天我们就来深入探讨一下《飞飞重逢》中宠物升星的玩法,帮助大家更好地养成自己的宠物!

[西门子PLC]博途编程思路:电机随机启停控制案例


就像图上显示的那样,这设备上一共有 7 台电机。每台电机都对应着一个启动按钮。要是操作人员随便按下几个按钮,然后再按下总启动按钮,就会自动按照顺序一个接一个地启动操作人员之前按下按钮所对应的电机。每台电机启动的时间间隔是 2 秒。只要按下停止按钮,所有电机就会立刻都停下来。


如何对dedeCMS的开源程序进行二次开发

二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。为了让更多人了解二次开发,并更方便的了解DedeCMS的二次开发,下面将会简单的介绍关于DedeCMS二次开发的一些基础和大纲 :



DedeCMS二次开发必备基础能力:

生成引人注目色彩的小型Javascript脚本——randomColor

介绍

randomColor是一个生成随机颜色的JavaScript脚本,对于写代码的我们来说,生成一个随机颜色或许并不复杂,但是想要生成一个比较吸引人的随机颜色可能是需要花费一番功夫的,但如果已经有人实现了这样一个小功能,那么我们直接使用即可,不需要再花费心思研究那么深,一起来看看吧!

randomColor已移植到C#,C ++,Go,Haskell,Mathematica,PHP,Python,Swift,Perl6,Objective-C,Java,R,Reason和Rust。

程序员的日常强迫症,你中了几个?

无论是生活还是工作,绝大部分人都有自己的一些习惯,所谓江山易改本性难移,这些习惯久了,就很可能成为强迫行为,也就是我们所说的强迫症,这一点职业上尤为明显。

由于工作的关系,程序员也时常有一些强迫行为。

一名程序员分享了这样一个故事:

坐标北京,刚刚参加了一群程序员朋友的聚会,在ktv玩,就是这种正常的画风:

玩的比较高兴,我们就开始吹牛和玩骰子游戏,大概的规则,就是每个人五个骰子,摇完了猜总数,猜错就得喝酒。结果呢,玩了几把后,大家就开始分析“一个数出现多少次的概率最高?”,接着抛出了两个问题:

分享一个非常不错的 短网址生成系统牛班源代码~很棒棒


源码比较完整也没有被人乱改过,有些瑕疵我已经去掉了比如联系方式啥的都直接删了。

本以为又是遇到一个垃圾源码,结果 非常的不错呀。一定要分享一下~

此源码没啥说明太简单了

运行环境PHP5.4-7.0都可以 建议 7.0


直接上传到空间后直接访问即可根据提示安装

Rocky Linux 9 源码包安装php8(rocky linux正式版)

Rocky Linux 9 源码包安装php8

大家好,我是星哥!今天咱们不聊yum一键安装的“快餐式”部署,来点儿硬核的——源码编译安装PHP 8.3。为什么要折腾源码?因为它能让你深度定制PHP功能、启用最新特性,还能避开系统默认源的版本限制。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言