Browse Source

Added scraping for laptops and tablets as well

pull/1/head
Ravi Shah 5 years ago
parent
commit
29038b146a
  1. 48
      laptop.csv
  2. 17
      scraper.py
  3. 115
      smartphone.csv
  4. 61
      tablet.csv

48
laptop.csv

@ -0,0 +1,48 @@
Manufacturer,Model,Score
HP,EliteBook x360 830 G7,9
HP,EliteBook 840 G7,9
EliteBook,800 G5,10
HP,ProBook 440 G7,9
HP,Elitebook x360 1040 G5,6
MacBook,"Pro 16"" 2019",1
Microsoft,"Surface Laptop 3 15""",5
MacBook,"Pro 13"" Two Thunderbolt Ports 2019",2
HP,EliteBook x360 830 G5,9
HP,EliteBook 840 G6,10
HP,EliteBook 830 x360 G6,9
MacBook,"Pro 15"" Touch Bar 2019",1
HP,EliteBook 1050 G1,9
MacBook,Air 13” Retina Display Late 2018,3
MacBook,"Pro 15"" Touch Bar 2018",1
MacBook,"Pro 13"" Touch Bar 2018",1
Dell,Latitude E5270,10
HP,EliteBook 840 G3,10
Samsung,"Series 9 15""",9
LG,"Gram 15""",9
Acer,"Predator 17.3""",8
Dell,XPS 13,7
Microsoft,Surface Laptop,0
MacBook,"Pro 13"" Touch Bar 2017",1
Retina,MacBook 2017,1
MacBook,"Pro 15"" Touch Bar Late 2016",1
MacBook,"Pro 13"" Touch Bar Late 2016",1
MacBook,"Pro 13"" Function Keys Late 2016",2
Retina,MacBook 2016,1
Asus,Chromebook C202,9
Retina,MacBook 2015,1
MacBook,"Pro 13"" Retina Display Early 2015",1
MacBook,"Air 13"" Early 2015",4
MacBook,"Air 11"" Early 2015",4
MacBook,"Pro 13"" Retina Display Late 2013",1
MacBook,"Pro 15"" Retina Display Late 2013",1
MacBook,"Air 11"" Mid 2013",4
MacBook,"Air 13"" Mid 2013",4
Dell,Inspiron Duo,7
MacBook,"Pro 13"" Retina Display Late 2012",2
Asus,Zenbook UX32VD,8
MacBook,"Pro 15"" Unibody Mid 2012",7
MacBook,"Pro 15"" Retina Display Mid 2012",1
MacBook,"Air 13"" Mid 2012",4
MacBook,"Air 13"" Mid 2011",4
MacBook,"Pro 15"" Unibody Early 2011",7
MacBook,"Air 11"" Late 2010",4
1 Manufacturer Model Score
2 HP EliteBook x360 830 G7 9
3 HP EliteBook 840 G7 9
4 EliteBook 800 G5 10
5 HP ProBook 440 G7 9
6 HP Elitebook x360 1040 G5 6
7 MacBook Pro 16" 2019 1
8 Microsoft Surface Laptop 3 15" 5
9 MacBook Pro 13" Two Thunderbolt Ports 2019 2
10 HP EliteBook x360 830 G5 9
11 HP EliteBook 840 G6 10
12 HP EliteBook 830 x360 G6 9
13 MacBook Pro 15" Touch Bar 2019 1
14 HP EliteBook 1050 G1 9
15 MacBook Air 13” Retina Display Late 2018 3
16 MacBook Pro 15" Touch Bar 2018 1
17 MacBook Pro 13" Touch Bar 2018 1
18 Dell Latitude E5270 10
19 HP EliteBook 840 G3 10
20 Samsung Series 9 15" 9
21 LG Gram 15" 9
22 Acer Predator 17.3" 8
23 Dell XPS 13 7
24 Microsoft Surface Laptop 0
25 MacBook Pro 13" Touch Bar 2017 1
26 Retina MacBook 2017 1
27 MacBook Pro 15" Touch Bar Late 2016 1
28 MacBook Pro 13" Touch Bar Late 2016 1
29 MacBook Pro 13" Function Keys Late 2016 2
30 Retina MacBook 2016 1
31 Asus Chromebook C202 9
32 Retina MacBook 2015 1
33 MacBook Pro 13" Retina Display Early 2015 1
34 MacBook Air 13" Early 2015 4
35 MacBook Air 11" Early 2015 4
36 MacBook Pro 13" Retina Display Late 2013 1
37 MacBook Pro 15" Retina Display Late 2013 1
38 MacBook Air 11" Mid 2013 4
39 MacBook Air 13" Mid 2013 4
40 Dell Inspiron Duo 7
41 MacBook Pro 13" Retina Display Late 2012 2
42 Asus Zenbook UX32VD 8
43 MacBook Pro 15" Unibody Mid 2012 7
44 MacBook Pro 15" Retina Display Mid 2012 1
45 MacBook Air 13" Mid 2012 4
46 MacBook Air 13" Mid 2011 4
47 MacBook Pro 15" Unibody Early 2011 7
48 MacBook Air 11" Late 2010 4

17
scraper.py

@ -39,20 +39,19 @@ def data_from_each(list_of_manufacturers_without_tags, list_of_models_without_ta
print(list_of_manufacturers_without_tags[j], list_of_models_without_tags[j], list_of_scores_without_tag[j])
j = j + 1
def insert_into_csv(list_of_manufacturers_without_tags, list_of_models_without_tags, list_of_scores_without_tag):
def insert_into_csv(list_of_manufacturers_without_tags, list_of_models_without_tags, list_of_scores_without_tag, file_name):
j = 0
for i in list_of_manufacturers_without_tags:
with open('list.csv', 'a', newline='') as file:
with open(file_name, 'a', newline='') as file:
writer = csv.writer(file)
print(list_of_manufacturers_without_tags[j], list_of_models_without_tags[j], list_of_scores_without_tag[j])
writer.writerow([list_of_manufacturers_without_tags[j], list_of_models_without_tags[j], list_of_scores_without_tag[j]])
j = j + 1
def main():
with open('list.csv', 'w', newline='') as file:
def scrape(link, file_name):
with open(file_name, 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(["Manufacturer", "Model", "Score"])
link = "https://www.ifixit.com/smartphone-repairability"
page = requests.get(link)
soup = BeautifulSoup(page.content, 'html.parser')
device_names = soup.findAll("div", {"class": "cell device-name"})
@ -60,7 +59,13 @@ def main():
list_of_manufacturers_without_tags = get_device_manufacturers(device_names)
list_of_models_without_tags = get_device_models(device_names, soup)
list_of_scores_without_tag = format_device_scores(device_scores, soup)
insert_into_csv(list_of_manufacturers_without_tags, list_of_models_without_tags, list_of_scores_without_tag)
insert_into_csv(list_of_manufacturers_without_tags, list_of_models_without_tags, list_of_scores_without_tag, file_name)
def main():
scrape("https://www.ifixit.com/smartphone-repairability", "smartphone.csv")
scrape("https://www.ifixit.com/laptop-repairability", "laptop.csv")
scrape("https://www.ifixit.com/tablet-repairability", "tablet.csv")
if __name__ == '__main__':
main()

115
smartphone.csv

@ -0,0 +1,115 @@
Manufacturer,Model,Score
iPhone,12 Pro,6
Microsoft,Surface Duo,2
Samsung,Galaxy Note 20 Ultra,3
iPhone,SE 2020,6
Samsung,Galaxy A51,4
Samsung,Galaxy S20 Ultra,3
Samsung,Galaxy Z Flip,2
Motorola,razr,1
Google,Pixel 4 XL,4
iPhone,11,6
iPhone,11 Pro Max,6
Fairphone,3,10
Samsung,Galaxy Note10 Plus 5G,3
Shift,6m,9
Huawei,Mate 20 X 5G,4
Google,Pixel 3a XL,6
Google,Pixel 3a,6
Samsung,Galaxy Fold,2
Samsung,Galaxy S10,3
Huawei,Mate 20 Pro,4
iPhone,XR,6
Google,Pixel 3 XL,4
Google,Pixel 3,4
iPhone,XS,6
LG,G7 Thin Q,4
OnePlus,6,5
Huawei,P20 Pro,4
Samsung,Galaxy S9,4
Samsung,Galaxy S9 Plus,4
iPhone,X,6
Google,Pixel 2 XL,6
Google,Pixel 2,6
Huawei,Mate 10 Pro,4
iPhone,8 Plus,6
iPhone,8,6
Samsung,Galaxy Note8,4
Essential,Phone,1
Samsung,Galaxy Note Fan Edition,4
OnePlus,5,7
Samsung,Galaxy S8,4
Samsung,Galaxy S8 Plus,4
LG,G6,5
Huawei,Mate 9,5
Google,Pixel,7
Google,Pixel XL,7
iPhone,7,7
iPhone,7 Plus,7
Sony,Xperia X Compact,6
Moto,Z,7
Samsung,Galaxy Note7,4
Asus,Zenfone 3 Max,6
Meizu,MX6,7
LG,G5,8
Vivo,X7 Plus,7
Vivo,X7,6
Huawei,P9,7
Xiaomi,Mi 5,6
iPhone,SE,6
Oppo,R9m,7
Samsung,Galaxy S7 Edge,3
Samsung,Galaxy S7,3
Lenovo,K5 Note,6
Fairphone,2,10
Huawei,Mate 8,6
Xiaomi,Redmi Note 3,8
Wiko,Pulp 4G Phone,7
iPhone,6s,7
iPhone,6s Plus,7
Nexus,5X,7
Nexus,6P,2
OnePlus,2,7
Shift,5.1,6
LG,G4,8
Samsung,Galaxy S6,4
Samsung,Galaxy S6 Edge,3
HTC,One M9,2
Nexus,6,7
iPhone,6,7
iPhone,6 Plus,7
Samsung,Galaxy Alpha,5
Amazon,Fire Phone,3
Samsung,Galaxy S5 Mini,5
OnePlus,One,5
Samsung,Galaxy S5,5
HTC,One M8,2
Fairphone,1,7
Nexus,5,8
iPhone,5s,6
iPhone,5c,6
Motorola,Moto X 1st Generation,7
Samsung,Galaxy S4,8
HTC,One,1
BlackBerry,Z10,8
Nexus,4,7
Samsung,Galaxy Note II,8
iPhone,5,7
Samsung,Galaxy S III,8
Motorola,Droid 4,4
Samsung,Galaxy Nexus,7
Motorola,Droid RAZR,4
iPhone,4S,6
Samsung,Galaxy Note,8
Motorola,Droid Bionic,9
Motorola,Droid 3,6
Samsung,Galaxy S II,8
Samsung,Galaxy S 4G,6
iPhone,4 Verizon,6
Motorola,Atrix 4G,9
Nexus,S,7
HTC,Surround,5
Nokia,N8,8
iPhone,3GS,7
iPhone,3G,7
iPhone,1st Generation,2
1 Manufacturer Model Score
2 iPhone 12 Pro 6
3 Microsoft Surface Duo 2
4 Samsung Galaxy Note 20 Ultra 3
5 iPhone SE 2020 6
6 Samsung Galaxy A51 4
7 Samsung Galaxy S20 Ultra 3
8 Samsung Galaxy Z Flip 2
9 Motorola razr 1
10 Google Pixel 4 XL 4
11 iPhone 11 6
12 iPhone 11 Pro Max 6
13 Fairphone 3 10
14 Samsung Galaxy Note10 Plus 5G 3
15 Shift 6m 9
16 Huawei Mate 20 X 5G 4
17 Google Pixel 3a XL 6
18 Google Pixel 3a 6
19 Samsung Galaxy Fold 2
20 Samsung Galaxy S10 3
21 Huawei Mate 20 Pro 4
22 iPhone XR 6
23 Google Pixel 3 XL 4
24 Google Pixel 3 4
25 iPhone XS 6
26 LG G7 Thin Q 4
27 OnePlus 6 5
28 Huawei P20 Pro 4
29 Samsung Galaxy S9 4
30 Samsung Galaxy S9 Plus 4
31 iPhone X 6
32 Google Pixel 2 XL 6
33 Google Pixel 2 6
34 Huawei Mate 10 Pro 4
35 iPhone 8 Plus 6
36 iPhone 8 6
37 Samsung Galaxy Note8 4
38 Essential Phone 1
39 Samsung Galaxy Note Fan Edition 4
40 OnePlus 5 7
41 Samsung Galaxy S8 4
42 Samsung Galaxy S8 Plus 4
43 LG G6 5
44 Huawei Mate 9 5
45 Google Pixel 7
46 Google Pixel XL 7
47 iPhone 7 7
48 iPhone 7 Plus 7
49 Sony Xperia X Compact 6
50 Moto Z 7
51 Samsung Galaxy Note7 4
52 Asus Zenfone 3 Max 6
53 Meizu MX6 7
54 LG G5 8
55 Vivo X7 Plus 7
56 Vivo X7 6
57 Huawei P9 7
58 Xiaomi Mi 5 6
59 iPhone SE 6
60 Oppo R9m 7
61 Samsung Galaxy S7 Edge 3
62 Samsung Galaxy S7 3
63 Lenovo K5 Note 6
64 Fairphone 2 10
65 Huawei Mate 8 6
66 Xiaomi Redmi Note 3 8
67 Wiko Pulp 4G Phone 7
68 iPhone 6s 7
69 iPhone 6s Plus 7
70 Nexus 5X 7
71 Nexus 6P 2
72 OnePlus 2 7
73 Shift 5.1 6
74 LG G4 8
75 Samsung Galaxy S6 4
76 Samsung Galaxy S6 Edge 3
77 HTC One M9 2
78 Nexus 6 7
79 iPhone 6 7
80 iPhone 6 Plus 7
81 Samsung Galaxy Alpha 5
82 Amazon Fire Phone 3
83 Samsung Galaxy S5 Mini 5
84 OnePlus One 5
85 Samsung Galaxy S5 5
86 HTC One M8 2
87 Fairphone 1 7
88 Nexus 5 8
89 iPhone 5s 6
90 iPhone 5c 6
91 Motorola Moto X 1st Generation 7
92 Samsung Galaxy S4 8
93 HTC One 1
94 BlackBerry Z10 8
95 Nexus 4 7
96 Samsung Galaxy Note II 8
97 iPhone 5 7
98 Samsung Galaxy S III 8
99 Motorola Droid 4 4
100 Samsung Galaxy Nexus 7
101 Motorola Droid RAZR 4
102 iPhone 4S 6
103 Samsung Galaxy Note 8
104 Motorola Droid Bionic 9
105 Motorola Droid 3 6
106 Samsung Galaxy S II 8
107 Samsung Galaxy S 4G 6
108 iPhone 4 Verizon 6
109 Motorola Atrix 4G 9
110 Nexus S 7
111 HTC Surround 5
112 Nokia N8 8
113 iPhone 3GS 7
114 iPhone 3G 7
115 iPhone 1st Generation 2

61
tablet.csv

@ -0,0 +1,61 @@
Manufacturer,Model,Score
Microsoft,Surface Pro X,6
iPad,7,2
Elite,x2 G4,9
HP,Elite x2 1012 G2,9
iPad,Air 3,2
iPad,Mini 5,2
Elite,X2 1013 G3,9
iPad,"Pro 11""",3
Microsoft,Surface Pro 6,1
iPad,6,2
Acer,Iconia One 7,8
Kindle,Paperwhite 3rd Generation,8
Huawei,MediaPad M2,7
HP,ElitePad 1000 G2 Teardown,7
Amazon,Fire 5th Generation,7
Huawei,MediaPad T2,6
Sony,Xperia Z4 Tablet,5
Samsung,Galaxy Tab S3,4
Microsoft,Surface Pro 5,1
iPad,"Pro 10.5""",2
LG,G Pad 7.0,8
iPad,5 Wi-Fi,2
HP,Pro x2 612 G2,9
Google,Pixel C,4
HP,Elite x2,10
iPad,"Pro 9.7""",2
iPad,"Pro 12.9""",3
Microsoft,Surface Pro 4,2
iPad,mini 4 Wi-Fi,2
Kindle,Voyage,7
Nexus,9,3
iPad,Mini 3 Wi-Fi,2
iPad,Air 2,2
Kindle,7th Generation,8
Kindle,Fire HD 6,6
Microsoft,Surface Pro 3,1
iPad,Mini 2,2
Amazon,"Kindle Fire HDX 8.9""",7
iPad,Air LTE,2
Microsoft,Surface Pro 2,1
Kindle,"Fire HDX 7""",3
Kindle,Fire HD 2013,8
Dell,XPS 10,9
Microsoft,Surface Pro,1
Amazon,"Kindle Fire HD 8.9""",5
Google,Nexus 10,6
iPad,Mini Wi-Fi,2
iPad,4 Wi-Fi,2
Microsoft,Surface,4
Kindle,Fire HD,7
Nexus,7,7
Nook,Simple Touch with GlowLight,7
Samsung,Galaxy Tab 2 7.0,8
iPad,3 4G,2
Nook,Tablet,6
Kindle,Fire,8
iPad,2 Wi-Fi EMC 2415,2
Motorola,Xoom,8
Dell,Streak,8
iPad,Wi-Fi,6
1 Manufacturer Model Score
2 Microsoft Surface Pro X 6
3 iPad 7 2
4 Elite x2 G4 9
5 HP Elite x2 1012 G2 9
6 iPad Air 3 2
7 iPad Mini 5 2
8 Elite X2 1013 G3 9
9 iPad Pro 11" 3
10 Microsoft Surface Pro 6 1
11 iPad 6 2
12 Acer Iconia One 7 8
13 Kindle Paperwhite 3rd Generation 8
14 Huawei MediaPad M2 7
15 HP ElitePad 1000 G2 Teardown 7
16 Amazon Fire 5th Generation 7
17 Huawei MediaPad T2 6
18 Sony Xperia Z4 Tablet 5
19 Samsung Galaxy Tab S3 4
20 Microsoft Surface Pro 5 1
21 iPad Pro 10.5" 2
22 LG G Pad 7.0 8
23 iPad 5 Wi-Fi 2
24 HP Pro x2 612 G2 9
25 Google Pixel C 4
26 HP Elite x2 10
27 iPad Pro 9.7" 2
28 iPad Pro 12.9" 3
29 Microsoft Surface Pro 4 2
30 iPad mini 4 Wi-Fi 2
31 Kindle Voyage 7
32 Nexus 9 3
33 iPad Mini 3 Wi-Fi 2
34 iPad Air 2 2
35 Kindle 7th Generation 8
36 Kindle Fire HD 6 6
37 Microsoft Surface Pro 3 1
38 iPad Mini 2 2
39 Amazon Kindle Fire HDX 8.9" 7
40 iPad Air LTE 2
41 Microsoft Surface Pro 2 1
42 Kindle Fire HDX 7" 3
43 Kindle Fire HD 2013 8
44 Dell XPS 10 9
45 Microsoft Surface Pro 1
46 Amazon Kindle Fire HD 8.9" 5
47 Google Nexus 10 6
48 iPad Mini Wi-Fi 2
49 iPad 4 Wi-Fi 2
50 Microsoft Surface 4
51 Kindle Fire HD 7
52 Nexus 7 7
53 Nook Simple Touch with GlowLight 7
54 Samsung Galaxy Tab 2 7.0 8
55 iPad 3 4G 2
56 Nook Tablet 6
57 Kindle Fire 8
58 iPad 2 Wi-Fi EMC 2415 2
59 Motorola Xoom 8
60 Dell Streak 8
61 iPad Wi-Fi 6
Loading…
Cancel
Save