7 21 python爬蟲學習日誌(day1)

2021-10-08 09:21:10 字數 3406 閱讀 5374

重灌pycharm

做幾個簡單的爬蟲

做一下這一周的安排和計畫

昨天晚上裝ubuntu,感覺挺好但是依賴什麼的還是用不慣(果然我還是太菜了),但是硬碟分割槽的時候把d盤清空了,又得再重灌一遍需要用到的pycharm和idea

(qt大概率很長一段時間不會再動了,想學別的東西)

其實當時就沒學透,cv工程師石錘

首先是乙個爬取大學排名的爬蟲

import requests

import time

from lxml import etree

def get_html

(url)

:'''

獲得 html

'''headers =

response = requests.

get(url, headers=headers)

if response.status_code ==

200:

response.encoding =

'utf-8'

return response.text

else

:return

def get_infos

(html)

:'''

提取資料

'''html = etree.

html

(html)

data = html.

xpath

("//tr[@class='alt']"

)for info in data:

rank = info.

xpath

('./td[1]/text()')[

0]name = info.

xpath

('./td[2]/div/text()')[

0]place = info.

xpath

('./td[3]/text()')[

0]type = info.

xpath

('./td[4]/text()')[

0]score = info.

xpath

('./td[5]/text()')[

0]message =

"rank"

+":"

+rank+

" 學校:"

+name+

" 城市:"

+ place +

" 辦學型別:"

+type+

" 總分:"

+score

print

(message)

def main()

:'''

主介面'''

print

("軟科排名2020"

) url =

''html =

get_html

(url)

get_infos

(html)

if __name__ ==

'__main__'

:main

()

簡單粗暴這裡直接放**了。三個部分功能比較明確

這裡講一下etree這個知識點

在這裡我們要捕獲 的資訊分別為 排名 校名 城市 種類 分數

這裡採用etree將得到的html文件重新生成乙個html物件

採用xpath可以將符合的元素收集到一起

獲得 html

'''headers =

response = requests.

get(url, headers=headers)

if response.status_code ==

200:

response.encoding =

'utf-8'

return response.text

else

:return

def get_infos

(html)

:'''

提取資料

'''html = etree.

html

(html)

data = html.

xpath

("//tr[@class='item']"

)for info in data:

rank = info.

xpath

('./td[2]/div[1]/a/text()')[

0]des = info.

xpath

('./td[2]/p[1]/text()')[

0]score = info.

xpath

('./td[2]/div[2]/span[2]/text()')[

0]# inq = info.xpath('./td[2]/p[2]/span/text()')[0]

#message = "rank"+":"+rank+" 學校:"+name+" 城市:"+ place + " 辦學型別:"+type+" 總分:"+score

message = rank.

replace

("\n",''

).replace

(" ",''

)+" "

+ des+

" "

+score+

"\n"

print

(message)

def main()

:'''

主介面'''

print

("豆瓣讀書top"

)for i in range(0

,10):

k = i*

25 url =

''.format

(str

(k))

print

(url)

html =

get_html

(url)

get_infos

(html)

if __name__ ==

'__main__'

:main

()效果如下

7 21python學習打卡

注釋 關於注釋有兩種使用方法 一種是 作為區間注釋,在三引號中所有內容為標註內容。還有是 作為某一些 後面的解釋說明。這些運算子在很多 中起到補充解釋 得到作用,如果不懂很肯能會把他們當成 一頭霧水。運算子 對於一些普通的運算子沒有什麼好說的,相較於c 而言python中多了冪運算與 整除 例如 2...

python爬蟲 scrapy日誌

1 scrapy日誌介紹 scrapy的日誌系統是實現了對python內建的日誌的封裝 scrapy也使用python日誌級別分類 logging.critical logging.erroe logging.warining logging.info logging.debug 2 如何在pyth...

Python 爬蟲,scrapy,日誌配置

專案名 spiders 爬蟲名.py 爬蟲,例項化logger,輸出日誌資訊 coding utf 8 import scrapy import logging 匯入 例項化logger logger logging.getlogger name class demospider scrapy.sp...