当前位置: 首页 > news >正文

中国网库做网站北京企业网站开发

中国网库做网站,北京企业网站开发,北京网址建设,素材网站 源码爬取博客园首页科技新闻的前10篇标题链接试试手 网址为推荐新闻 - 科技新闻 - 博客园 代码如下 from requests_html import HTMLSession sessionHTMLSession() rsession.get(https://news.cnblogs.com/n/recommend) r.html.render() all_newsr.html.find(h2.news_entry>a…

爬取博客园首页科技新闻的前10篇标题+链接试试手

网址为推荐新闻 - 科技新闻 - 博客园

代码如下

from requests_html import HTMLSession
session=HTMLSession()
r=session.get('https://news.cnblogs.com/n/recommend')
r.html.render()
all_news=r.html.find('h2.news_entry>a')
for news in all_news[:11]:print(news.text,'https://news.cnblogs.com/n/recommend'+news.attrs['href'])

r.html.find('h2.news_entry>a')   的含义是查找所有class属性为'news_entry'的<h2>标签,并返回它的直接子元素<a>标签,注意'>'表示选择直接子元素,外面不能嵌套着其它标签

输出如下

尝试保存5张python图标到一个自建文件夹中

后面的图片有Base64 编码的,要解码处理,就不爬了 

url为python图标 - 搜索 图片

提示,图片是在<img>标签中,我们把属性src的链接提取下来,再使用requests.get(url)获取图片内容

这种有规律的网页其实用xpath方法搜索很方便,以下为两张图片<img>的xpath

/html/body/div[4]/div[5]/div/div[1]/ul[1]/li[1]/div/div[1]/a/div/img
/html/body/div[4]/div[5]/div/div[1]/ul[1]/li[2]/div/div[1]/a/div/img

我本想用这个规律,可是这样就搜索不到了,可能是因为绝对 XPath 很容易因为页面结构的变化而失效,所以建议使用相对 XPath,可以更灵活地定位元素(哦哦哦!主包后期试过了,复制XPath可以爬取到,这个就是相对的,如//*[@id="mmComponent_images_1"]/ul[1]/li[1]/div/div[1]/a/div/img)。当然了,搜索方法很多,大家选择自己喜欢的就好~

代码如下

from requests_html import HTMLSession
import osos.makedirs('python_icons')  #在Python脚本运行的当前工作目录下创建一个文件夹
session=HTMLSession()
r=session.get('https://cn.bing.com/images/search?q=python%E5%9B%BE%E6%A0%87&form=HDRSC2&first=1&cw=1177&ch=723')
r.html.render()
imgs=r.html.xpath('//div[@class="img_cont hoff"]/img')
for i in range(5):url=imgs[i].attrs['src'] r=session.get(url)if r.status_code!=200:continue                                          #python_icons/是文件夹路径,'第{i+1}张'是文件名,.png是文件扩展名,表示图片with open(f'python_icons/第{i+1}张.png','wb') as f:   #with open()是Python中用于打开文件的管理器,它确保文件在操作完成后会自动关闭f.write(r.content)                                 #wb以二进制写入模式打开文件,图片要用二进制写入,r.content返回响应的二进制内容
session.close()

展示如下,在文件目录可以看到,确实是在“python_icons”文件夹

爬取实习僧平台3个职位招聘信息制作成多表单

网址实习僧|大学生实习|校招求职|校园招聘

接下来我将爬取“产品经理”“架构师”“运维工程师”这3个职位招聘信息的岗位名称、薪资、城市的数据(为了减少运行时间,我每种职位只爬取一页数据)

提示,可以观察到,每种职位的url只是keyword不同,所以我们只需要修改keyword就能访问不同职位的招聘网页

 不知道大家能否成功爬取数据呢?开始我想在外页面(如下)直接爬取,改了好几遍代码都不行,还是只能先获取招聘广告的链接再获取信息了。

代码如下

from requests_html import HTMLSession
import pandas as pd                #把标准库/第三方库pandas起别名pd
import urllib.parsesession=HTMLSession()
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0'}def getinfo(n_url):r=session.get(n_url,headers=headers)r.html.render()name=r.html.find('div.new_job_name')[0].textsalary=r.html.find('div.job_msg')[0].find('span')[0].textcity=r.html.find('div.job_msg')[0].find('span')[1].textreturn [name,salary,city]def getLinks(ul):info=[]r=session.get(ul,headers=headers)r.html.render()items=r.html.find('div.intern-wrap.interns-point.intern-item')for item in items:nurl=item.find('a')[0].attrs['href']info.append(getinfo(nurl))    #注意不是data+=,+=会把列表里的3个字符串当成3个独立元素追加,最终得到的是一维列表return infojobs=["产品经理","架构师","运维工程师"]
columns=['职位名称','薪资','城市']
with pd.ExcelWriter('job_posting.xlsx', engine='openpyxl', mode='w') as writer:   #with ... as ...上下文管理器,会把打开和关闭这两步自动帮你完成for job in jobs:                                                              #'job_posting.xlsx'是最终文件名,engine='openpyxl'是后端引擎,mode='w'表示覆盖写模式ejob=urllib.parse.quote(job)               #把中文字符转为URL百分号编码url=f"https://www.shixiseng.com/interns?keyword={ejob}&city=%E5%85%A8%E5%9B%BD&type=intern&from=menu"informs=getLinks(url)df=pd.DataFrame(informs,columns=columns)   #用二维列表和列名创建DataFrame对象df.to_excel(writer, sheet_name=job, index=False)     #.to_excel()方法,把DataFrame里的二维表格数据,写进一个Excel文件里的工作表(Sheet)

输出展示如下

结语

爬取数据后还要清洗数据、可视化数据可以的话还可以加上GUI设计,这样才是一个完整的爬虫应用,后面的步骤比较笼统,我就不演示介绍了。还有分享或者想了解的技术欢迎在评论区留言,爬虫这块暂时结束了。

最后分享一下格式化字符串的方法

# .format()方法,使用{}作为占位符,将值插入到字符串中
name="Alice"
age=25
message="My name is {} and I am {} years old.".format(name,age)     
print(message)
# <左对齐  >右对齐  ^居中对齐
# 可以指定占位符的宽度(默认以空格填充);对于浮点数,可以指定小数点后的位数
print("{:>10}".format("Hello"))    # 输出:     Hello
print("{:.2f}".format(3.14159))    # 输出:3.14
print("{:10.2f}".format(3.14159))  # 输出:      3.14
#f-string字符串格式化方法,使用前缀f或F,在字符串中直接嵌入表达式
name="Alice"
age=25
message=f"My name is {name} and I am {age} years old."
print(message)
#格式化选项与.format()相似
print(f"{name:^10}")     # 居中对齐,宽度为10
print(f"{3.14159:.2f}")  # 输出:3.14

附带分享一些快捷键

CTRL+C,复制选取文字

CTRL+V,粘贴复制的文字

CTRL+A,选中全部

CTRL+Z,撤销上一步

http://www.dtcms.com/a/401840.html

相关文章:

  • 网站放到国外空间科技公司起名大全免费
  • wordpress网站需要多大空间昆山做企业网站
  • 电商平台网站开发文档阿雷网站建设公司
  • 安徽省城乡和住房建设厅网站福田做网站公司怎么选择
  • 天津企业网站做侵权电影网站什么后果
  • 如何免费申请网站域名网易企业邮箱客户端设置
  • 市政道路毕业设计代做网站网上做期末试卷的网站
  • 集美区建设局网站建设微信网站要多少钱
  • html5手机网站框架信誉好的商城网站建设
  • 农业做的好的网站网站开发 案例
  • 做文案的网站有些什么移动网上
  • 浙江省网站集约化建设想学广告设计没有基础
  • 专业网站建设明细报价表wordpress nas
  • 广州做网站怎么样wordpress静态生成
  • 网站打开慢是什么原因asp网站 证书
  • 制作自己的网站代码吗类似传奇的网页游戏
  • 佛山市官网网站建设公司中卫平面设计师招聘
  • 做网站需要审批不营销型网站建设怎么做营销网站建设
  • 济南自助建站软件wordpress 做导航页面
  • 做网站行业现状网站运营暂停
  • 装饰公司网站网站开发公司营业范围
  • 赣榆区城乡建设局网站中国建设网证书查询平台
  • 公司品牌网站建设价格低县级网站建设
  • 泸州百度做网站联系wordpress 章节 插件
  • 关于做门户网站专栏内容通知北京麒麟网站建设
  • 网站单页别人是怎么做的网络优化的工作内容有哪些
  • 网站建设程序员招聘个人开店的电商平台
  • 潍坊点睛做网站怎么样毕业生就业网站开发项目
  • wordpress自带ajax很慢重庆网站seo诊断
  • 网站建设百度资源cms系统创建静态网站