七仔的博客

七仔的博客GithubPages分博

0%

基于谷歌/火狐无头浏览器模式解决Vue的SEO问题 2.0

这是 基于谷歌/火狐无头浏览器模式解决Vue的SEO问题 2.0版本,优化了上一个版本,去掉了nodejs模块,集成到了python中

基于谷歌/火狐无头浏览器模式解决Vue的SEO问题 2.0

这是 基于谷歌/火狐无头浏览器模式解决Vue的SEO问题 2.0版本,优化了上一个版本,去掉了nodejs模块,集成到了python中

下面是优化过后的python代码

这里使用python调用火狐浏览器获取渲染数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from http.server import HTTPServer, BaseHTTPRequestHandler
from selenium.webdriver.chrome.options import Options
from selenium import webdriver

host = ('localhost', 3000)


class Resquest(BaseHTTPRequestHandler):
def getHTML(self, url):
options = Options()
options.add_argument('--headless') # 无界面
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
options.add_argument('--disable-dev-shm-usage')
browser = webdriver.Chrome(options=options) # 打开浏览器
browser.get(url=url) # 请求
html_msg = browser.page_source.encode('GBK', 'ignore').decode('GBk')
browser.close() # 关闭浏览器
browser.quit() # # 杀死chrome浏览器的连接桥(chromedriver)的进程
return html_msg

def do_GET(self):
print(self.headers)
self.send_response(200)
self.end_headers()
self.wfile.write(self.getHTML("https://www.baby7blog.com" + self.path).encode())


if __name__ == '__main__':
server = HTTPServer(host, Resquest)
print("Starting server, listen at: %s:%s" % host)
server.serve_forever()

此为博主副博客,留言请去主博客,转载请注明出处:https://www.baby7blog.com/myBlog/65.html

欢迎关注我的其它发布渠道