Skip to content
This repository was archived by the owner on Mar 12, 2024. It is now read-only.

Commit 1213cb4

Browse files
authored
Use your ua first. (#55)
1 parent 4dfac6d commit 1213cb4

5 files changed

Lines changed: 30 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,9 @@
119119

120120
## 3.9.0(2020-12-11)
121121
* 功能
122-
- 每一次请求都随机选用user agent,也许会对封禁有所帮助;
122+
- ~~每一次请求都随机~~选用user agent,也许会对封禁有所帮助;
123+
124+
## 3.9.1(2020-12-14)
125+
* 功能
126+
- 配置里支持使用`buff_user_agent`粘贴自己的ua。如果留空,使用随机的ua,且每次爬取都使用该ua,而不是每次请求都随机一个ua。
127+

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ steam_cookie = timezoneOffset=28800,0; steamMachineAuth76561198093333055=649A9B5
8787
1. 工程根目录下运行:`python -m src`
8888

8989
## 输出结果
90-
- database:爬的数据;
90+
~~- database:爬的数据;~~
9191
- log: 日志;
9292
- suggestion:分析结果;
9393

config/config.ini

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
# 网页登录buff和steam后,把浏览器的cookie贴到这里,才能运行。推荐从Chrome中复制,下面是两条示例cookie
33
buff_cookie = _ga=GA1.2.162602080.1551374933; _ntes_nuid=8ce0cf6bdce55512e73f49cb8a49960e; mail_psc_fingerprint=d80ec72871726e9b192181fd1a3633d6; OUTFOX_SEARCH_USER_ID_NCOO=29659292.15961449; Device-Id=33u998YqmNWbhH5GbWUo; vjuids=369cb7d82.170e16a9519.0.3eb2c52902997; vjlast=1584329824.1584329824.30; _ntes_nnid=8ce0cf6bdce55512e73f49cb8a49960e,1584329823520; vinfo_n_f_l_n3=d81bf3a25989eb31.1.4.1561837557589.1576393349946.1585037711031; NTES_CMT_USER_INFO=305053074%7C%E6%9C%89%E6%80%81%E5%BA%A6%E7%BD%91%E5%8F%8B0ibHSi%7Chttp%3A%2F%2Fcms-bucket.nosdn.127.net%2F2018%2F08%2F13%2F078ea9f65d954410b62a52ac773875a1.jpeg%7Cfalse%7CeWQuNzU3YTdkZjAwZWNiNDJlOGJAMTYzLmNvbQ%3D%3D; nts_mail_user=ter@163.com:-1:1; __oc_uuid=ed078220-12cd-11eb-8ff5-199a4d2b4ac4; Locale-Supported=zh-Hans; game=csgo; _gid=GA1.2.648285736.1605190175; _gat_gtag_UA_109989484_1=1; NTES_YD_SESS=SN.CH9UV_zHPlqCiCLvgBOoLTrvc2fBGRyieqBhbqAP1HglxHydKU4DQmq5B7At06lgkSmM_II0j06AJnuMWYnpdtYe8PPxUJMsM4X5yH3jBY3xJdC_d59nM8A1bksgKL51SSXhh3Rbd4SeDy6ZIwse2MUjzElPeLdPKBaMoZafPdtNUF9E67TduT0krt3r6_s46hz3dnGE.y20NruVavQP3kETqQCAqK6iZ3b0Nc6tJw; S_INFO=1605190207|0|3&80##|2051; P_INFO=2051|1605190207|1|netease_buff|00&99|bej&1602387932&netease_buff#bej&null#10#0#0|&0|null|2051; remember_me=U1094050600|T3zeeLJIc6y9kVtTTAGV0mdqvIXDpeX0; session=1-WfP1TH9yGjtZniGRmbfFSezTOMS-ZeYguhJFzDIT5Fem2046524528; csrf_token=ImFjMWE4YTc4MDFkMTAyZjYyYWZhZWVhYzllZGFlNTJiZjc1NWE1MDEi.Eo7TwA.f39WinRhrzJgSTG4as2EjhD6za0
44
steam_cookie = ActListPageSize=100; steamMachineAuth76561198251761676=B89D7B0897180E54C9F2E93F8AAFA4583CAADE7D; timezoneOffset=28800,0; _ga=GA1.2.1902489943.1551205764; steamMachineAuth76561198874249759=E46DCE6095514E3D489CAF1E7CBC3F9F8CD3ACC6; browserid=1066728544083117486; recentlyVisitedAppHubs=271590%2C80%2C730; Steam_Language=english; steamCountry=US%7C4705a9aaf22f908f9e4452081abd865a; sessionid=56b51232f9f3936a0ebbf88d; _gid=GA1.2.1847664544.1605190173; steamLoginSecure=76561198251761676%7C%7CE4B6E3BBDD5AF069692D8C8A56755ECBB34ECC68; steamRememberLogin=76561198251761676%7C%7Ca5e43585d1cd13db87c3d856d7676178; webTradeEligibility=%7B%22allowed%22%3A1%2C%22allowed_at_time%22%3A0%2C%22steamguard_required_days%22%3A15%2C%22new_device_cooldown_days%22%3A7%2C%22time_checked%22%3A1605190194%7D
5+
6+
# 获取登陆buff时的User-Agent,和获取cookie的方式相同。如果不使用自己的user-agent,留空即可(不建议),程序会随机一个user-agent。
7+
# 为了减弱被封禁的风险,强烈建议把自己的user-agent贴在此处。例如:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
8+
buff_user_agent =
9+
510
# 提供一个代理来访问Steam社区市场。如果不需要代理即可直接访问市场,直接留空即可
611
proxy = socks5://127.0.0.1:10808
712

src/config/definitions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
# cookie and api
2727
BUFF_COOKIE = config['BASIC']['buff_cookie']
28+
USER_AGENT = config['BASIC']['buff_user_agent']
2829
STEAM_COOKIE = config['BASIC']['steam_cookie']
2930

3031
# proxy

src/util/requester.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import random
66
from requests import Timeout
77

8-
from src.config.definitions import PROXY, BUFF_COOKIE, STEAM_COOKIE, RETRY_TIMES
8+
from src.config.definitions import PROXY, BUFF_COOKIE, USER_AGENT, STEAM_COOKIE, RETRY_TIMES
99
from src.util import timer
1010
from src.util.logger import log
1111
from src.util.cache import fetch, store, exist
@@ -26,22 +26,33 @@
2626
k, v = line.split('=', 1)
2727
steam_cookies[k] = v
2828

29+
# get user-agent database
2930
csv = pd.read_csv('config/reference/ua.csv')
3031
ua = csv.ua
3132

3233

34+
# get user-agent
35+
def get_ua():
36+
if USER_AGENT:
37+
return USER_AGENT
38+
else:
39+
return get_random_ua()
40+
41+
3342
def get_random_ua():
3443
return ua[random.randint(0, ua.size)]
3544

3645

3746
def get_headers():
38-
specific_ua = get_random_ua()
39-
log.info('Random ua: {}'.format(specific_ua))
47+
target_ua = get_ua()
48+
log.info('use User-Agent: {}'.format(target_ua))
4049
return {
41-
'User-Agent': specific_ua
50+
'User-Agent': target_ua
4251
}
4352

4453

54+
headers = get_headers()
55+
4556
proxies = {}
4657
if PROXY:
4758
proxies["http"] = PROXY
@@ -59,8 +70,8 @@ def get_json_dict_raw(url, cookies, proxy=False, times=1):
5970
timer.sleep_awhile()
6071
try:
6172
if proxy and proxies != {}:
62-
return requests.get(url, headers=get_headers(), cookies=cookies, timeout=5, proxies=proxies).text
63-
return requests.get(url, headers=get_headers(), cookies=cookies, timeout=5).text
73+
return requests.get(url, headers=headers, cookies=cookies, timeout=5, proxies=proxies).text
74+
return requests.get(url, headers=headers, cookies=cookies, timeout=5).text
6475
except Timeout:
6576
log.warn("Timeout for {}. Try again.".format(url))
6677
except Exception as e:

0 commit comments

Comments
 (0)