黄页网站推广效果怎么样,为何用wdcp建立网站连不上ftp,网址导航推广,购物网站开发代码一、安装package
在使用爬虫前#xff0c;需要先安装三个包#xff0c;requests、BeautifulSoup、selenium。
输入如下代码#xff0c;若无报错#xff0c;则说明安装成功。
import requests
from bs4 import BeautifulSoup
import selenium二、Requests应用 了解了原理…一、安装package
在使用爬虫前需要先安装三个包requests、BeautifulSoup、selenium。
输入如下代码若无报错则说明安装成功。
import requests
from bs4 import BeautifulSoup
import selenium二、Requests应用 了解了原理接下来实际应用一下requests库叭~
import requestsurl https://www.baidu.com
r requests.get(url)
print(r.status_code)
print(r.headers)
print(r.text)如果运行上述代码时出现如下报错 requests.exceptions.ProxyError: HTTPSConnectionPool(hostblog.csdn.net, port443): Max retries exceeded with url: /m0_51339444/article/details/129049696 (Caused by ProxyError(Cannot connect to proxy., OSError(0, Error))) 可能是因为1网络资源过大网络无法加载2使用了科学上网需要关闭。
运行后其中r.status_code的返回值是200表示请求成功但是如果返回值是400则表示请求失败。另外发现程序的r.text输出出现乱码这是因为在headers内没有明确指出encoding方式会将其默认成ISO-8859-1编码方式导致乱码。但是仔细观察r.text输出meta中暗示了是“utf-8”编码 因此需要指定r.encoding “utf-8”然后再执行输出无乱码。完整代码如下
import requestsurl https://www.baidu.com
r requests.get(url)
print(r.status_code)
print()
print(r.headers)
print()
print(r.text)
print()
print(r.encoding)
r.encoding utf-8
print()
print(r.text)三、URL管理器 class UrlManager():url管理器def __init__(self): # 初始化self.new_urls set() # 放待爬取过的urlself.old_urls set() # 放已经爬取的url# 增添新的url下面两个函数实现添加以及判重def add_new_url(self, url):if url is None or len(url) 0: # 判定url是否合法return# 判断url是否在容器中, 在就return不添加if url in self.new_urls or url in self.old_urls:returnself.new_urls.add(url) # 否则就添加新的url在集合中def add_new_urls(self, urls):if urls is None or len(urls) 0:returnfor url in urls:self.add_new_url(url)# 获取待爬取的url (记得更改url状态)def get_url(self):if self.has_new_url():url self.new_urls.pop()self.old_urls.add(url)return urlelse:return None# 判断容器中有没有新的待爬取的urldef has_new_url(self):return len(self.new_urls) 0if __name__ __main__:url_manager UrlManager()url_manager.add_new_url(url1)url_manager.add_new_urls([url1, url2])print(url_manager.new_urls, url_manager.old_urls)print()new_url url_manager.get_url()print(url_manager.new_urls, url_manager.old_urls)print()new_url url_manager.get_url()print(url_manager.new_urls, url_manager.old_urls)print()print(url_manager.has_new_url())四、HTML简介
为了方便我们更好的理解网站的构成需要先了解一下HTML的基本原理。 head里面是网站上不可见的信息 body里面是网站上可见的信息