1
2
3
4
5import requests, asyncio
6from apify import Actor
7import playwright
8from playwright.async_api import async_playwright
9print('................reqbot...............0')
10
11url_adsite = 'https://a000.ex16.repl.co/'
12url_ip = 'https://whatsmyip.com/'
13url_aclick = 'https://click.a-ads.com/2199641/2/'
14url_aipm = 'https://ad.a-ads.com/2199641?size=728x90'
15url_2bt = 'http://traffic2bitcoin.com/ptp2.php?ref=Exash'
16
17url_adsterra = 'https://www.toprevenuegate.com/dahcgmdy89?key=cbcfa1e9a4c631faf6ed1b29519abfce'
18
19async def main():
20 async with Actor:
21
22 p = await async_playwright().start()
23 BLOCK_RESOURCE_TYPES = [
24 'beacon',
25 'csp_report',
26 'font',
27 'image',
28 'imageset',
29 'media',
30 'object',
31 'texttrack',
32
33
34
35
36 ]
37
38
39
40 BLOCK_RESOURCE_NAMES = [
41 'adzerk',
42 'analytics',
43 'cdn.api.twitter',
44 'doubleclick',
45 'exelator',
46 'facebook',
47 'fontawesome',
48 'google',
49 'google-analytics',
50 'googletagmanager',
51 ]
52
53 def intercept_route(route):
54 """intercept all requests and abort blocked ones"""
55 if route.request.resource_type in BLOCK_RESOURCE_TYPES:
56 print(f'blocking background resource {route.request} blocked type "{route.request.resource_type}"')
57 return route.abort()
58 if any(key in route.request.url for key in BLOCK_RESOURCE_NAMES):
59 print(f"blocking background resource {route.request} blocked name {route.request.url}")
60 return route.abort()
61 return route.continue_()
62
63 print('................reqbot...............')
64
65
66
67
68
69
70
71 for i in range(1000):
72 proxy_configuration = await Actor.create_proxy_configuration(groups=[f'RESIDENTIAL'], country_code = 'FR')
73 proxy_url = await proxy_configuration.new_url(str(i))
74 print(proxy_url)
75
76 proxies = {
77 'http': proxy_url,
78 'https': proxy_url,
79 }
80
81 session = requests.Session()
82 session.proxies = proxies
83
84
85
86
87 try:
88
89 print(i, proxy_url)
90 r = session.get(url_2bt,verify=False)
91
92
93 print('statbt: ',r.status_code)
94
95
96
97
98 proxy_url = {'server':proxy_url}
99
100
101
102
103
104 browser = await p.chromium.launch(headless=True,args=["--disable-features=Data-saving --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'"])
105 contex = await browser.new_context(ignore_https_errors=True,proxy=proxy_url)
106
107
108 page = await contex.new_page()
109
110
111
112 await page.route("**/*", intercept_route)
113 await page.goto(url_adsite, timeout=20000)
114 print('urled')
115 r = session.get(url_adsterra,verify=False)
116
117
118
119
120
121
122
123 print(i, proxy_url)
124
125 except Exception as e:
126 print(e)
127 print('done!!!')
128 print('docmer')
129
130if __name__ == '__main__':
131 asyncio.run(main())
132 print('docn')