﻿{"id":546,"date":"2020-09-07T03:59:01","date_gmt":"2020-09-06T19:59:01","guid":{"rendered":"https:\/\/byy3.com\/?p=546"},"modified":"2021-01-09T10:10:09","modified_gmt":"2021-01-09T02:10:09","slug":"python%e7%94%a8%e4%ba%8e%e7%88%ac%e5%8f%96ip%e4%bb%a3%e7%90%86%e5%9c%b0%e5%9d%80","status":"publish","type":"post","link":"https:\/\/byy3.com\/?p=546","title":{"rendered":"python\u7528\u4e8e\u722c\u53d6ip\u4ee3\u7406\u5730\u5740\u5b58\u50a8txt"},"content":{"rendered":"<p>#\u6cd3\u6e90\u89c6\u91ce-<a href=\"https:\/\/byy3.com\">\u535a\u5f08\u6e90\u00a0\u00a0<\/a><\/p>\n<p>#python3\u7528\u4e8e\u722c\u53d6ip\u4ee3\u7406\u5730\u5740\uff0c\u7a0b\u5e8f\u6682\u672a\u5b8c\u5584\uff0c\u6ca1\u6709\u6709\u505a\u81ea\u52a8\u7ffb\u9875<\/p>\n<p>import requests<br \/>\nimport parsel<br \/>\nimport time<\/p>\n<p>def check_ip(proxies_list):<br \/>\n\"\"\"\u68c0\u6d4bip\u7684\u65b9\u6cd5\"\"\"<br \/>\nheaders = {'User-Agent': 'Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/79.0.3945.79 Safari\/537.36'}<\/p>\n<p>can_use = []<br \/>\nfor proxy in proxies_list:<br \/>\ntry:<br \/>\nresponse = requests.get('http:\/\/www.baidu.com', headers=headers, proxies=proxy, timeout=0.1) # \u8d85\u65f6\u62a5\u9519<br \/>\nif response.status_code == 200:<br \/>\ncan_use.append(proxy)<br \/>\nexcept Exception as error:<br \/>\nprint(error)<br \/>\nreturn can_use<br \/>\nimport requests<br \/>\nimport parsel<\/p>\n<p># 1\u3001\u786e\u5b9a\u722c\u53d6\u7684url\u8def\u5f84\uff0cheaders\u53c2\u6570<br \/>\nbase_url = 'https:\/\/www.kuaidaili.com\/free\/intr'<br \/>\nheaders = {'User-Agent': 'Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/79.0.3945.79 Safari\/537.36'}<\/p>\n<p># 2\u3001\u53d1\u9001\u8bf7\u6c42 -- requests \u6a21\u62df\u6d4f\u89c8\u5668\u53d1\u9001\u8bf7\u6c42\uff0c\u83b7\u53d6\u54cd\u5e94\u6570\u636e<br \/>\nresponse = requests.get(base_url, headers=headers)<br \/>\ndata = response.text<br \/>\n# print(data)<br \/>\n#\u6253\u5f00\u4e00\u4e2aip.txt\u6587\u4ef6\u7528\u4e8e\u8bb0\u5f55<br \/>\nfile = open('ip.txt', 'a+', encoding='utf-8')\u00a0 #'a+'\u8868\u793a\uff08\u53ef\u8ffd\u52a0\u53ef\u5199\uff0c\u6587\u4ef6\u82e5\u4e0d\u5b58\u5728\u5c31\u521b\u5efa\uff09<\/p>\n<p>for j in range(1,10):<br \/>\nprint(\"\u6b63\u5728\u722c\u53d6\u7b2c\"+str(j)+\"\u9875IP\")<\/p>\n<p># 3\u3001\u89e3\u6790\u6570\u636e -- parsel \u8f6c\u5316\u4e3aSelector\u5bf9\u8c61\uff0cSelector\u5bf9\u8c61\u5177\u6709xpath\u7684\u65b9\u6cd5\uff0c\u80fd\u591f\u5bf9\u8f6c\u5316\u7684\u6570\u636e\u8fdb\u884c\u5904\u7406<br \/>\n# 3\u30011 \u8f6c\u6362python\u53ef\u4ea4\u4e92\u7684\u6570\u636e\u7c7b\u578b<br \/>\nhtml_data = parsel.Selector(data)<br \/>\n# 3\u30012 \u89e3\u6790\u6570\u636e<br \/>\nparse_list = html_data.xpath('\/\/table[@class=\"table table-bordered table-striped\"]\/tbody\/tr') # \u8fd4\u56deSelector\u5bf9\u8c61<br \/>\n# print(parse_list)<\/p>\n<p># \u514d\u8d39 IP {\"\u534f\u8bae\":\"IP:port\"}<br \/>\n# \u5faa\u73af\u904d\u5386\uff0c\u4e8c\u6b21\u63d0\u53d6<br \/>\nproxies_list = []<br \/>\nfor tr in parse_list:<br \/>\nproxies_dict = {}<br \/>\nhttp_type = tr.xpath('.\/td[4]\/text()').extract_first()<br \/>\nip_num = tr.xpath('.\/td[1]\/text()').extract_first()<br \/>\nport_num = tr.xpath('.\/td[2]\/text()').extract_first()<br \/>\n# print(http_type, ip_num, port_num)<br \/>\n#\u5199\u5165txt\u6587\u4ef6<br \/>\nfile.write(ip_num)<br \/>\nfile.write(' ')<br \/>\nfile.write(port_num)<br \/>\nfile.write('\\n')<\/p>\n<p># \u6784\u5efa\u4ee3\u7406ip\u5b57\u5178<br \/>\nproxies_dict[http_type] = ip_num + ':' + port_num<br \/>\n# print(proxies_dict)<br \/>\nproxies_list.append(proxies_dict)<\/p>\n<p>print(proxies_list)<br \/>\nprint(\"\u83b7\u53d6\u5230\u7684\u4ee3\u7406ip\u6570\u91cf\uff1a\", len(proxies_list), '\u4e2a')<\/p>\n<p>file.close()<\/p>\n","protected":false},"excerpt":{"rendered":"<p>#\u6cd3\u6e90\u89c6\u91ce-\u535a\u5f08\u6e90\u00a0\u00a0 #python3\u7528\u4e8e\u722c\u53d6ip\u4ee3\u7406\u5730\u5740\uff0c\u7a0b\u5e8f\u6682\u672a\u5b8c\u5584\uff0c\u6ca1\u6709\u6709\u505a\u81ea\u52a8\u7ffb\u9875 import r [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[33,352],"class_list":["post-546","post","type-post","status-publish","format-standard","hentry","category-python","tag-python"],"_links":{"self":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=546"}],"version-history":[{"count":0,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/546\/revisions"}],"wp:attachment":[{"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}