★立即注册★

QQ登录

只需一步,快速开始

就爱江湖-应用库-技术分享资源网-Www.92Jh.Cn

查看: 611|回复: 9

[原创Crack] steam爬虫数据抓取 自己研究

[复制链接]
发表于 2020-4-28 21:42:37 | 显示全部楼层
不废话,直接上代码,要借鉴的自己看
测试后发现需要设置cookie,别的难点就没有了。
"""
from crawl_tool_for_py3 import crawlerTool # 自己写的一个工具类
import pdb
#import multiprocessing
#import gevent
#from gevent import socket,monkey,pool    #导入pool
import time
import queue
import re
#monkey.patch_all()
#gevent.monkey.patch_all(thread=False, socket=False, select=False) # gevent和multiprocessing同时使用时
ct = crawlerTool()
#pool=gevent.pool.Pool(10) # 有个问题处理不了,queue写文件问题
result_queue = queue.Queue()
task_flag=True


import csv


output_csv = open('steam_result.csv','w',newline='')
csv_writer =  csv.writer(output_csv)
csv_writer.writerow(['name','url','languages','require_os','achievements','types','types_num','score'])
def main():
    global task_flag
    urls=[]
    for page in range(1,1298,1):
        url = 'https://store.steampowered.com/search/?sort_by=&sort_order=0&special_categories=&tags=492&page=%s&l=english'%page
        #urls.append(url)
        print('page=%s'%page)
        try:
            search_page(url)
        except Exception as e:
            print(e)




def search_page(url):
    page_buf = ct.sget(url).decode('utf8')
    segments = crawlerTool.getXpath('//div[@id="search_result_container"]/div/a', page_buf)
    for segment in segments:
        title = crawlerTool.getXpath('//span[@class="title"]/text()', segment)
        href = crawlerTool.getXpath('//a/@href', segment)[0]
        print(title, href)
        try:
            get_page_detail(href)
        except Exception as e:
            print(e)






def get_page_detail(url):
    page_buf = ct.sget(url,cookies={"Steam_Language":"english","birthtime":"725817601","lastagecheckage":"1-January-1993"})
    #print(page_buf)
    name =  crawlerTool.getXpath('//div[@class="apphub_AppName"]/text()', page_buf)[0]
    languages =  crawlerTool.getXpath('//a[@class="all_languages"]/text()', page_buf)
    if languages:
        languages = crawlerTool.getRegex('ee all\s+(\d+)',languages[0])
    else:
        languages = len(crawlerTool.getXpath("//table[@class='game_language_options']//tr[@class='']", page_buf))


    require_os = len(crawlerTool.getXpath('//div[contains(@class,"sysreq_tab" )]',page_buf))
    if not require_os:
        require_os = 1
    achievements = crawlerTool.getXpath("//div[@id='achievement_block']/div/text()", page_buf)
    if achievements:
        achievements = crawlerTool.getRegex('Includes\s+(\d+)',achievements[0])
    else:
        achievements = 0
    types =  crawlerTool.getXpath('//div[@id="category_block"]/div[@class="game_area_details_specs"]//text()', page_buf)
    types = [type.strip() for type in types if type]
    types_num = len(types)
    types= '|'.join(types)
    score =  crawlerTool.getXpath('//div[contains(@class,"score " )]/text()', page_buf)
    if score:
        score = score[0].strip()
    else:
        score = 0
    print(languages,require_os,achievements,types_num,types,score)
    csv_writer.writerow([name, url, languages, require_os, achievements, types, types_num, score])


if __name__ == '__main__':
   # rs = ct.session.get('https://store.steampowered.com/app/477160/Human_Fall_Flat/?snr=1_7_7_230_150_1',cookies={"Steam_Language":"english","birthtime":"725817601","lastagecheckage":"1-January-1993"}) #右上角切换语言
    #print(rs.text)
    #get_page_detail('https://store.steampowered.com/app/252490/Rust/?snr=1_7_7_230_150_1')
    main()







上一篇:CF自瞄单板脚本!!!!
下一篇:LOL收费脚本,五一免费三天

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案,如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请在帖子回复【已解决】。

发表于 2020-4-29 00:24:26 | 显示全部楼层
这东西我收了!谢谢楼主!
回复 支持 反对

使用道具 举报

发表于 2020-4-29 08:28:50 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!
回复 支持 反对

使用道具 举报

发表于 2020-4-29 19:46:25 | 显示全部楼层
这东西我收了!谢谢楼主!
回复 支持 反对

使用道具 举报

发表于 2020-5-8 11:37:09 | 显示全部楼层
这个是干嘛的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-8 12:39:48 | 显示全部楼层

盗  不懂我就没办法了
回复 支持 反对

使用道具 举报

发表于 2020-5-15 13:43:10 | 显示全部楼层
wuliao1001 发表于 2020-5-8 12:39
盗  不懂我就没办法了

感觉是抓取steam网页里面的东西
回复 支持 反对

使用道具 举报

发表于 2020-5-15 13:44:02 | 显示全部楼层
wuliao1001 发表于 2020-5-8 12:39
盗  不懂我就没办法了

不像是盗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-15 23:04:19 | 显示全部楼层

不允许发出来,代码改动了一下
回复 支持 反对

使用道具 举报

发表于 2020-5-15 23:29:14 | 显示全部楼层
wuliao1001 发表于 2020-5-15 23:04
不允许发出来,代码改动了一下

好吧,总之挺厉害的,,挺你
回复 支持 反对

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | ★立即注册★

免责声明
就爱江湖所发布的一切软件逆向解密分析文章及视频、破解补丁、注册机和注册信息,仅限用于学习和研究目的。不得将上述内容用于商业或者非法途径!否则,一切后果请用户自负!
本站信息来自互联网,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请购买注册正版软件,获得正版优质服务!
如有侵权请邮件或QQ与我们联系处理。

联系QQ:2710763
邮箱:2710763@qq.com

手机版|小黑屋| 就爱江湖资源分享网 ( 粤ICP备2025451632号 ) |网站地图

GMT+8, 2025-8-4 06:31

Powered by Discuz!

© 2001-2020 Comsenz Inc.

快速回复 返回顶部 返回列表