from pyquery import PyQuery as pq
阿新 • • 發佈:2018-11-25
1.爬取知乎-發現-熱門話題的問答:
import requests from pyquery import PyQuery as pq url = 'https://www.zhihu.com/explore' headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKi\ t/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36'} html = requests.get(url,headers = headers).text doc = pq(html) #初始化PyQuery類物件 items = doc('.explore-tab .feed-item').items() #抓取 .explore-tab 結點下的所有 .feed-item 子節點 .items() 把他們組成列表 for item in items: question = item.find('h2').text() #抓問題,不為 .h2 理由是 h2 是標籤,不是屬性 author = item.find('.author-link-line').text() #抓作者 answer = pq(item.find('.content').html()).text() #抓取一條回答,列表裡面返回的是標籤名稱,.html()還原成 html 程式碼 file = open('explore.txt','a',encoding='utf-8') file.write('\n'.join([question,author,answer])) file.write('\n' + '=' * 50 + '\n') file.close()
2..find()
查詢子孫結點
3.,attr()
<img alt="爐石傳說石英元素 女巫森林新卡" src="http://newsimg.5054399.com/uploads/litimg/180410/1606441M5F5.jpg">
可以理解為這個標籤的對應值,是以字典形式返回,所以 attr() 返回鍵的值;例如 attr('alt') 得到的是 ‘爐石傳說石英元素
女巫森林新卡'
提取 scr 的值:.attr('lz_src') 加一個 lz_
4.
doc = pq(html) items = doc('#dq_list > li').items()
綠色部分獲取結點的方法為 Selector;還可以有其他方法