1 import requests # 导入requests 请求库 2 from lxml import etree # 导入lxml解析库 3 4 def getHTMLtext(url): 5 try: 6 r =requests.get(url,timeout=20) #用get方法 超时时间20秒 7 r.raise_for_status() 8 r.encoding = r.apparent_encoding #字符编码 9 return r.text #返回获取文本 10 11 except: 12 return "产生异常" 13 14 if __name__ == '__main__': 15 url = "https://book.douban.com/subject/1084336/comments/" #访问豆瓣书评网址地址 16 r =getHTMLtext(url) 17 s = etree.HTML(r) #解析 18 # print(s.xpath('//*[@id="comments"]/ul[1]/li[1]/div[2]/p/span/text()')) #copy xpath 获取单条评论 19 # print(s.xpath('//*[@id="comments"]/ul[1]/li[2]/div[2]/p/span/text()')) 20 # print(s.xpath('//*[@id="comments"]/ul[1]/li/div[2]/p/span/text()')) #copy xpath 获取当前页全部评论 21 # print(s.xpath('//div[@class="comment"]/p/span/text()')) # 手写 获取当前页全部评论 22 print(s.xpath('//div[@class="comment"]/p/span/text()')[0]) # 手写 获取第一条评论 23 24 # 获取文本内容用text() 获取注释用comment() 25 # 获取其他任何属性用@xx 如@href @src @value