python3xpath和requests应用详解-创新互联
根据一个爬取豆瓣电影排名的小应用,来简单使用etree和request库。
成都创新互联公司是专业的三都网站建设公司,三都接单;提供成都网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行三都网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!etree使用xpath语法。
import requests import ssl from lxml import etree ssl._create_default_https_context = ssl._create_unverified_context session = requests.Session() for id in range(0, 251, 25): URL = 'https://movie.douban.com/top250/?start=' + str(id) req = session.get(URL) # 设置网页编码格式 req.encoding = 'utf8' # 将request.content 转化为 Element root = etree.HTML(req.content) # 选取 ol/li/div[@class="item"] 不管它们在文档中的位置 items = root.xpath('//ol/li/div[@class="item"]') for item in items: # 注意可能只有中文名,没有英文名;可能没有quote简评 rank, name, alias, rating_num, quote, url = "", "", "", "", "", "" try: url = item.xpath('./div[@class="pic"]/a/@href')[0] rank = item.xpath('./div[@class="pic"]/em/text()')[0] title = item.xpath('./div[@class="info"]//a/span[@class="title"]/text()') name = title[0].encode('gb2312', 'ignore').decode('gb2312') alias = title[1].encode('gb2312', 'ignore').decode('gb2312') if len(title) == 2 else "" rating_num = item.xpath('.//div[@class="bd"]//span[@class="rating_num"]/text()')[0] quote_tag = item.xpath('.//div[@class="bd"]//span[@class="inq"]') if len(quote_tag) is not 0: quote = quote_tag[0].text.encode('gb2312', 'ignore').decode('gb2312').replace('\xa0', '') # 输出 排名,评分,简介 print(rank, rating_num, quote) # 输出 中文名,英文名 print(name.encode('gb2312', 'ignore').decode('gb2312'), alias.encode('gb2312', 'ignore').decode('gb2312').replace('/', ',')) except: print('faild!') pass
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享题目:python3xpath和requests应用详解-创新互联
本文地址:http://pwwzsj.com/article/hpeoi.html