解决方案:新冠病毒样本采集系统开发
优采云 发布时间: 2022-12-14 15:39解决方案:新冠病毒样本采集系统开发
新手快速搭建网站详解
服务器:服务器主要用于加载网站的内容载体,服务器也分为虚拟主机VPS独立服务器等,如果想做简单的练习网站,只需要使用虚拟主机,价格便宜,如果想做很多网站,可以考虑VPS或者独立服务器创建网站,一般新手建议使用虚拟主机。
域名:域名的作用就像一个房间的门牌号。也可以看作是网站的名字。一般来说,域名相对便宜。有几块钱的域名,标准的一百块以内就可以结算。当然,有些域名甚至高达上亿。建议我们在注册域名时使用简单易懂的域名来创建。
FTP上传工具:FTP上传工具是连接服务器的重要工具。通过这个工具,可以将外部数据导入我们的网站。很多新手在使用FTP工具时总会出错。相信通过上面的视频我们可以很快掌握。如果没有FTP工具,可以私信找岑慧玉。
FTP帐号和数据库密码:FTP帐号和数据库密码是连接服务器的关键。一般在购买服务器的时候都会有一个账号,所以我们一定要小心保管好这个账号,防止他人篡改网站的东西。
网站程序:和以前不同,需要手写一个程序。现在创建一个网站只需要十多分钟。网站程序大部分都是别人写的,所以直接上传就可以在服务器上使用了。常用的网站程序有织梦empire wordpress等,这里就不细说了。
本文由展腾网网站SEO优化团队网整理,不代表本站观点。如果您想了解更多SEO优化文章,新闻,工具和SEO优化技巧,案例,各种网站优化知识百科,请进入: 可以和您进行*敏*感*词*的Q&A战腾优化师
免费的:搭建免费代理池---采集代理(1),搭建IP代理池
搭建免费代理池---采集proxy(1),搭建IP代理池
在抓取网站信息的时候,难免会遇到IP被封的情况。针对这种情况,可以采用代理IP的方法来处理。那么,我现在遇到的问题是什么?只是我没有代理IP。
在百度上搜索了一下,发现网上有很多免费的代理IP,所以我决定采集把所有能找到的免费代理IP都下载下来,做成接口供大家免费使用。
这个文章主要是对采集《66自由代理网络》的技术总结。
1.GET/POST请求
为了方便操作,采用工厂模式封装GET/Post请求。
import requests
import abc
'''
请求方法抽象类
'''
class AbsMethod:
@abc.abstractmethod
def request(self, url, attach):
pass
'''
Get 方法
'''
class Get(AbsMethod):
'''
请求
'''
def request(self, url, attach) -> requests.Response:
res = requests.post(url, attach)
if not res.ok:
return res.raise_for_status()
return res
'''
Post 方法
'''
class Post(AbsMethod):
'''
请求
<p>
'''
def request(self, url, attach) -> requests.Response:
res = requests.get(url, attach)
if not res.ok:
return res.raise_for_status()
return res
'''
方法工厂
'''
class MethodFactory:
def create(self, method: str) -> AbsMethod:
return eval(method)()
'''
http 请求
'''
class HttpReuqest:
'''
发送求请
'''
@staticmethod
def send(url, attach = {}, method='Get') -> requests.Response:
factory = MethodFactory()
target = factory.create(method)
return target.request(url, attach)</p>
2. 采集 目标网站
class WWW_66IP_CN:
'''
URL地址
'''
__url = 'http://www.66ip.cn'
'''
页面编码
'''
__code = 'gbk'
<p>
'''
选择器
'''
__selector = '.containerbox table tr'
'''
获取免费代理
'''
def get_proxy(self) -> str:
soup = bs4.BeautifulSoup(self.text, 'lxml')
result = soup.select(self.__selector)
result = self.__filters([str(n) for n in result])
return result
'''
获取页面内容
'''
@property
def text(self) -> str:
http = HttpReuqest()
res = http.send(self.__url)
if res.headers['Content-Encoding'] == 'gzip': # 页面采用gizp压缩了,需要对它进行解码不然中文会乱码
return res.content.decode(self.__code)
return res.text
'''
过滤
'''
def __filters(self, items: List[str]) -> List[list]:
result, regex = [], re.compile(r'([^]+)')
for item in items:
result.append(regex.findall(item))
return result
proxy = WWW_66IP_CN()
d = proxy.get_proxy()
print(d)</p>
三、技术总结
目标站点使用 gzip 压缩页面。如果页面不解码,汉字就会以乱码的形式出现。针对这种情况,可以使用字符串函数decode()进行解码
4.百度网盘
关联:
提取码:dlsr