python爬虫(BeautifulSoup)
来源:互联网 发布:家用健身器材 知乎 编辑:程序博客网 时间:2024/05/18 03:20
本篇文章将爬取零度编程的列表 传送门
我们只爬取如下的列表
废话不多说 上代码 很菜 大神勿喷
# -*- coding: utf-8 -*- # Auth Ethan# 爬取零度编程网站的数据import requestsfrom bs4 import BeautifulSoupfrom multiprocessing.dummy import Pool as ThreadPoolurl="https://www.xcode.me/page/"img=[]data=[]urls=[]def page_one(u): #伪装成浏览器 否则无法访问 ha={ 'Accept': 'text / html, application / xhtml + xml, application / xml; q = 0.9, image / webp, image / apng, * / *;q = 0.8', 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36', 'Content-Type':'text/html; charset=utf-8' } res=requests.get(u) result=BeautifulSoup(res.text,"lxml") for item in result.select("article.excerpt"): #获取图片链接 try: src = item.select("a img.thumb")[0]["data-src"] except: src=item.select("a img.thumb")[0]["src"] img.append(src) #获取标题 title=item.select("header h2")[0].text #获取时间 time=item.select("p.meta time")[0].text #获取阅读数 look=item.select("p.meta .pv")[0].text.lstrip("阅读(").rstrip(")") #请求内容页面 detail=BeautifulSoup(requests.get(item.select("header h2 a")[0]["href"]).text,"lxml") #获取内容 将最后18位字符窜去掉 单独爬取 content=str( detail.select("article.article-content")[0].text.strip("\n")[:-18]) newpwd=detail.select("article.article-content p span") if len(newpwd)>0: if "下载密钥:" in newpwd[0].text: downPwd = newpwd[0].text.strip("下载密钥:") downUrl = detail.select("article.article-content p a")[0]["href"] else: downPwd="" downUrl="" else: downPwd = "" downUrl = "" data.append({'ImgUrl':src,'Title':title,'Time':time,'Look':look,'Content':content,'downPwd':downPwd,'downUrl':downUrl})def CreateUrl(): for a in range(0,21): urls.append(url+str(a))def Start(): CreateUrl() pool = ThreadPool(4) results = pool.map(page_one, urls) pool.close() pool.join() #page_one(1) print(data)from pymongo import MongoClientsettings = { "ip":'localhost', #ip "port":27017, #端口 "db_name" : "python", #数据库名字 "set_name" : "linduBlog" #集合名字}class MyMongoDB(object): def __init__(self): try: self.conn = MongoClient(settings["ip"], settings["port"]) except Exception as e: print(e) self.db = self.conn[settings["db_name"]] self.my_set = self.db[settings["set_name"]] def insert(self,dic): print("inser...") self.my_set.insert(dic) def update(self,dic,newdic): print("update...") self.my_set.update(dic,newdic) def delete(self,dic): print("delete...") self.my_set.remove(dic) def dbfind(self,dic): print("find...") data = self.my_set.find(dic) for result in data: print(result["name"],result["age"])if __name__ == '__main__': Start() # newdata=[{'ImgUrl': 'https://www.xcode.me/wp-content/uploads/2014/05/book-share-list.jpg', 'Title': '《.NET安全揭秘》电子书', 'Time': '2017-09-09', 'Look': '374', 'Content': '作为.NET程序员、.NET应用架构师和.NET安全工作人员,如何才能开发和设计出安全的.NET应用?如何才能维护和保证.NET应用系统的安全性?本书是资深.NET专家和安全专家多年工作经验的结晶,深刻揭示了.NET系统的安全特性及其工作原理,系统而全面地讲解了构建安全的.NET应用所必须掌握的所有理论知识,并包含大量实践。\n第一部分:.NET安全基础,透彻讲解了.NET体系结构、程序集与反射、应用程序域和CLR寄宿等核心技术,这部分内容是.NET架构的核心,同时也是理解.NET底层安全机制的基础。\n第二部分:.NET平台安全性,深入分析了代码访问的安全性和基于角色的安全性的原理,这部分内容既是.NET应用框架安全性的基础,也是整个.NET平台体系安全性的核心。\n第三部分:数据安全,深刻阐述了数据加密、数据存储和数据通信的安全性,这部分内容介于.NET平台底层安全性与.NET应用安全性之间,是联系二者的纽带。\n第四部分:.NET应用安全性,全面讲解.NET平台下ASP.NET、WCF、WPF和Open XML等常用框架和技术的安全机制与原理。\n第五部分:高级扩展,重点介绍WIF框架和Windows Azure的安全性,这是.NET安全领域未来的重心之一。\n本书是构建安全.NET应用的百科全书,适合所有关注和学习.NET安全的读者阅读。', 'downPwd': 'szff', 'downUrl': 'https://pan.baidu.com/s/1dEX5Jc1'}] # print(newdata) m=MyMongoDB() m.insert(data) #print(len("\n下载密钥:fsic\n零度电子书下载"))
阅读全文
0 0
- python爬虫之BeautifulSoup
- python爬虫之-BeautifulSoup
- python beautifulsoup 爬虫学习
- python爬虫之BeautifulSoup
- python-爬虫-beautifulsoup
- python爬虫爬取斗图网BeautifulSoup
- python爬虫--BeautifulSoup
- python爬虫(BeautifulSoup)
- [爬虫] Python爬虫 urllib BeautifulSoup
- python 自己写爬虫 ----- BeautifulSoup
- python 爬虫试手 requests+BeautifulSoup
- python 爬虫 beautifulsoup example 例子
- python爬虫之BeautifulSoup入门
- Python 爬虫 —— BeautifulSoup
- python爬虫之BeautifulSoup库
- Python-网络爬虫之BeautifulSoup
- Python BeautifulSoup爬虫 HDU题目
- Python爬虫利器:BeautifulSoup库
- data augmentation for object detecting目标检测xml文件扩增(旋转实现)
- Linux分页机制概述
- TestNG入门教程-15-Java语言的断言和Junit的断言
- LeetCode [10. Regular Expression Matching]
- 二元运算符的运算符重载
- python爬虫(BeautifulSoup)
- python:数据类型
- 多态对象模型
- Git安装及使用文章网址收录
- 自然语言处理
- python入门运算(shape 、tile 、sum)
- VS2017+PCL1.8.1+Cmake(3.6 or later)环境配置
- 第十一周项目二——操作用邻接表存储的图
- chrome文件上传 /获取文件路径c:/fakepath的解决办法