glidedsky爬蟲闖關 第一關


今天無意中發現了一個練習爬蟲的網站:
http://glidedsky.com/

做的挺不錯的 強烈推薦

第一關是將網頁中所有的數字相加,因為格式十分整齊,可以用多種方法來實現,一並記錄在這里了,注意在get的時候要加上在cookie

import requests
from bs4 import BeautifulSoup
import re
from requests_html import HTMLSession
from lxml import etree

header = {"cookie": "自己的cookie"}
r=requests.get("http://glidedsky.com/level/web/crawler-basic-1",headers=header)

r.encoding = r.apparent_encoding
html = BeautifulSoup(r.text,'lxml')
anss=0

#css選擇器
x=html.select("div[class='col-md-1']")
for i in x:
    anss+=int(i.get_text().strip())
print(anss)

"""
#正則
s='''<div class="col-md-1">(.+?)</div>'''
x=re.findall(s,r.text,re.DOTALL)
for i in x:
    anss+=int(i.strip())
print(anss)
"""

"""
#HTMLSession.get().html.find()方法
session=HTMLSession()
url=session.get("http://glidedsky.com/level/web/crawler-basic-1",headers=header)
#content=url.html.find('div.col-md-1:nth-child(1)',first=True)
for i in range(1,1201):
    s='div.col-md-1:nth-child('+str(i)+')'
    content=url.html.find(s,first=True)
    anss+=int(content.text)
print(anss)
"""

"""
#xpath路徑
label=etree.HTML(r.text)
content=label.xpath('//div[@class="col-md-1"]/text()')
#提取div標簽中class名為"col-md-1"的內容信息,並且存入一個列表中
for i in content:
    anss+=int(i.replace('\n', '').strip())
print(anss)
"""

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM