当前位置:网站首页>Crawling fragment of a button style on a website
Crawling fragment of a button style on a website
2022-04-23 15:25:00 【Xuanze Technology】
If you are interested, you can try . Reference learning !
import requests
import os
class Code:
def __init__(self):
self.url = [
"https://api.uiverse.io/buttons?type=button&orderBy=popular",
"https://api.uiverse.io/buttons?type=button-of-the-day&orderBy=popular",
"https://api.uiverse.io/buttons?type=card&orderBy=popular",
"https://api.uiverse.io/buttons?type=checkbox&orderBy=popular",
"https://api.uiverse.io/buttons?type=input&orderBy=popular",
"https://api.uiverse.io/buttons?type=spinner&orderBy=popular",
"https://api.uiverse.io/buttons?type=switch&orderBy=popular",
]
self.headers = {
"user-agent": "Mozilla / 5.0(Windows NT 10.0;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 86.0.4240.198Safari / 537.36"
}
def send_request(self, url):
return requests.get(url, headers=self.headers, timeout=3).json()
def run(self):
for url in self.url:
html_str = self.send_request(url)
for val in html_str['buttons']:
css = val['scopedCss']
html = val['html']
first = css.index('.')
last = css.find(' ', first)
print(first)
print(css[first+1:last])
content = (
'<html lang="en">'
'<head>'
'<meta charset="UTF-8">'
'<meta name="viewport" content="width=device-width, initial-scale=1.0">'
'<title > Document </title>'
'<style >' + css + '</style>'
'</head>'
'<body><div class="' + css[first+1:last] + '">' + html + '</div></body>'
'</html>'
)
# break
path = "C:/Users/Administrator/Downloads/Documents"+url[36:-16]
if not os.path.exists(path=path):
os.makedirs(path)
with open(path + '/' + val['id'] + '.html', 'w',
encoding='utf-8') as ht:
ht.write(content)
def main():
code = Code()
code.run()
if __name__ == '__main__':
main()
- 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.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
版权声明
本文为[Xuanze Technology]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231423255668.html
边栏推荐
猜你喜欢
Byte interview programming question: the minimum number of K
Openstack command operation
Detailed explanation of C language knowledge points - data types and variables [2] - integer variables and constants [1]
On the day of entry, I cried (mushroom street was laid off and fought for seven months to win the offer)
Sword finger offer (2) -- for Huawei
Lotus DB design and Implementation - 1 Basic Concepts
setcontext getcontext makecontext swapcontext
重定向和请求转发详解
Design of digital temperature monitoring and alarm system based on DS18B20 single chip microcomputer [LCD1602 display + Proteus simulation + C program + paper + key setting, etc.]
asp. Net method of sending mail using mailmessage
随机推荐
Explanation of redis database (I)
买卖股票的最佳时机系列问题
Fill in the next right node pointer II of each node [classical hierarchy traversal | regarded as linked list]
Llvm - generate for loop
JS - implémenter la fonction de copie par clic
After time judgment of date
Baidu written test 2022.4.12 + programming topic: simple integer problem
UML学习_day2
Subnet division of flannel principle
Openfaas practice 4: template operation
群体智能自主作业智慧农场项目启动及实施方案论证会议
setcontext getcontext makecontext swapcontext
Machine learning - logistic regression
Detailed explanation of MySQL connection query
Functions (Part I)
Sword finger offer (1) -- for Huawei
My raspberry PI zero 2W tossing notes record some problems encountered and solutions
X509 certificate cer format to PEM format
win10 任务栏通知区图标不见了
My raspberry PI zero 2W toss notes to record some problems and solutions