javascript
Python实训day05pm【JS-DOM-获取元素节点对象、网络爬虫】
- Python實訓-15天-博客匯總表
目錄
1、CSS選擇器
2、網絡爬蟲
2.1、練習1
2.2、練習2
1、CSS選擇器
.rank-body .book-mid-info .author a:nth-child(4)
Css選擇器? ?? ?css\js\python\...
? ? 定位頁面元素:
? ? ? ? css--->樣式
? ? ? ? js-->操作元素
? ? ? ? python-->操作元素
class\id\標簽【必須】
? ? .d1
? ? #d1
? ? div
各種選擇器之間的組合【必須】
? ? div .d1 : ?div中的所有.d1(層級)
? ? div.d1 ?: ?class屬性的值為d1的那些div(并列)
? ? div>d1 ?: ?div中所有的直接子元素.d1(直接層級)
偽類選擇器【了解+會查詢】
? ? :first-child
? ? :last-child
? ? :nth-child()
? ? :hover :active
? ? 等等
偽元素【了解+會查詢】等等
2、網絡爬蟲
2.1、練習1
1.擴展,爬取前100條數據
2.統計,在前100中,哪個類型的小說的數量最多,有多少?(下午的課堂來講解)
2.2、練習2
將某個(星門)小說按照章節下載到.txt文件中【下載免費部分】
思路(步驟):
1.請求小說目錄,找到每個章節的超鏈接地址。
2.請求每個章節地址,獲取章節內容,寫入到txt文件中。
?
''' 將某個(星門)小說按照章節下載到.txt文件中【下載免費部分】 思路(步驟): 1.請求小說目錄,找到每個章節的超鏈接地址 2.請求每個章節地址,獲取章節內容,寫入到txt文件中 ''' import requests from bs4 import BeautifulSoup as BS# 偽裝成瀏覽器 hds = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'}# 小說首頁路徑 url = 'https://book.qidian.com/info/1027669580/#Catalog';resp = requests.get(url, headers=hds);ct = resp.content.decode('utf-8');# print(ct) print(ct.index('李家的劍')) # 19156 找到了,說明爬取到的html中包含我們想要的內容;使用BeautifulSoup解析即可bs = BS(ct, 'lxml'); sa = bs.select('.volume-wrap .volume:first-child .book_name a'); #:nth-child(1)zjinfo = {}; # 名稱:url地址for a in sa:zjinfo[a.get_text()] = 'https:' + a['href'];# print(zjinfo)# 2、請求每個章節地址,獲取章節內容,寫入到txt文件中 # 做個demo:請求第一章的內容,保存到txt文件中u2 = 'https://read.qidian.com/chapter/Bo4cJRb-5zhY1sEsPcaxkg2/LH6CZhsVBjDgn4SMoDUcDQ2/'; resp = requests.get(u2, headers=hds); ct = resp.content.decode('utf-8'); print(ct.index('純凈的笑容')) # 19318 可以使用BS解析,獲取想要的內容 # print(ct)bs = BS(ct, 'lxml'); sps = bs.select('.main-text-wrap .read-content p'); # 通過打印ct,再次確認元素選擇器結構 print(len(sps)); # 89:89個自然段的內容cts = [];# 遍歷,獲取每一個內容,放入到cts中 for p in sps:cts.append(p.get_text());print(cts); # ['\u3000\u3000\u3000\u3000銀城。', ...]# 寫入文件 f = open(r'C:\Users\lwx\Desktop\星門\{}'.format('第一章 巡檢司.txt'), 'w'); f.write('\n'.join(cts)); # 將cts中所有字符串拼接,使用\n換行,間隔 f.close();先五倫,后八德。人倫大道以此分。
君臣義,父子親。君正臣忠護國心。
為人子,孝雙親。父慈子奉父子親。
夫婦情,盡責任。妻賢夫愛情誼深。
兄弟序,長幼分。兄寬弟忍哥們親。
朋友信,友情真。不論貧富視同仁。
孝為首,萬善源。百善孝順第一先。
生命體,父母賜。不孝敬老畜不如。
萬寶失,可再得。萬金難買父母身。
講明理,兄弟情。同氣連枝一母生。
忠字義,為誠心。天地人倫無假心。
信字解,人言誠。言而有信君子風。
禮為敬,待人先。非禮勿為敬為先。
義字理,合正道。正義善為無禍端。
廉字解,主清白。端端正正不貪財。
恥字義,須解開。知恥羞惡善德懷。
為人道,謹記懷。五倫八道永記懷。
總結
以上是生活随笔為你收集整理的Python实训day05pm【JS-DOM-获取元素节点对象、网络爬虫】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python实训day05am【正则表达
- 下一篇: Spring-学习笔记02【程序间耦合】